Merge branch 'master' into 0.11
authorWim Taymans <wim.taymans@collabora.co.uk>
Mon, 3 Oct 2011 09:24:04 +0000 (11:24 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Mon, 3 Oct 2011 09:24:04 +0000 (11:24 +0200)
44 files changed:
common
configure.ac
ext/directfb/dfbvideosink.c
ext/directfb/dfbvideosink.h
ext/faad/gstfaad.c
ext/resindvd/rsnparsetter.c
ext/resindvd/rsnwrappedbuffer.c
ext/resindvd/rsnwrappedbuffer.h
ext/sndfile/gstsfsink.c
gst-libs/gst/interfaces/photography.c
gst/camerabin/camerabinimage.c
gst/camerabin/camerabinvideo.c
gst/colorspace/Makefile.am [deleted file]
gst/colorspace/colorspace.c [deleted file]
gst/colorspace/colorspace.h [deleted file]
gst/colorspace/colorspace.vcproj [deleted file]
gst/colorspace/gstcolorspace.c [deleted file]
gst/colorspace/gstcolorspace.h [deleted file]
gst/colorspace/gstcolorspaceorc-dist.c [deleted file]
gst/colorspace/gstcolorspaceorc-dist.h [deleted file]
gst/colorspace/gstcolorspaceorc.orc [deleted file]
gst/fieldanalysis/gstfieldanalysis.c
gst/id3tag/id3tag.c
gst/jp2kdecimator/jp2kcodestream.c
gst/mxf/mxfaes-bwf.c
gst/mxf/mxfalaw.c
gst/mxf/mxfdemux.c
gst/mxf/mxfdms1.c
gst/mxf/mxfdv-dif.c
gst/mxf/mxfjpeg2000.c
gst/mxf/mxfmetadata.c
gst/mxf/mxfmetadata.h
gst/mxf/mxfmpeg.c
gst/mxf/mxfmux.c
gst/mxf/mxfup.c
gst/mxf/mxfvc3.c
gst/rtpvp8/gstrtpvp8.c
gst/sdi/gstsdidemux.c
gst/sdp/gstsdpdemux.c
sys/Makefile.am
sys/decklink/win/DeckLinkAPI_i.c
sys/dvb/parsechannels.c
sys/qtwrapper/audiodecoders.c
win32/common/config.h

diff --git a/common b/common
index 11f0cd5a3fba36f85cf3e434150bfe66b1bf08d4..0546e5881d1ec7137c71d35247729e28c1a4ab66 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit 11f0cd5a3fba36f85cf3e434150bfe66b1bf08d4
+Subproject commit 0546e5881d1ec7137c71d35247729e28c1a4ab66
index 03a367be7757a266fba6adac0f00aa594f65f728..14ee6a0523ff4a7c10bb5c57030ec2ed03ff8bcc 100644 (file)
@@ -3,7 +3,7 @@ AC_PREREQ(2.60)
 dnl initialize autoconf
 dnl when going to/from release please set the nano (fourth number) right !
 dnl releases only do Wall, cvs and prerelease does Werror too
-AC_INIT(GStreamer Bad Plug-ins, 0.10.22.1,
+AC_INIT(GStreamer Bad Plug-ins, 0.11.0.1,
     http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
     gst-plugins-bad)
 
@@ -38,7 +38,7 @@ m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],
 dnl our libraries and install dirs use major.minor as a version
 GST_MAJORMINOR=$GST_PLUGINS_BAD_VERSION_MAJOR.$GST_PLUGINS_BAD_VERSION_MINOR
 dnl we override it here if we need to for the release candidate of new series
-GST_MAJORMINOR=0.10
+GST_MAJORMINOR=0.11
 AC_SUBST(GST_MAJORMINOR)
 
 AG_GST_LIBTOOL_PREPARE
@@ -52,8 +52,8 @@ AC_LIBTOOL_WIN32_DLL
 AM_PROG_LIBTOOL
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=0.10.35.1
-GSTPB_REQ=0.10.35.1
+GST_REQ=0.11.0.1
+GSTPB_REQ=0.11.0.1
 
 dnl *** autotools stuff ****
 
@@ -194,9 +194,9 @@ AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
 AG_GST_CHECK_GST_PLUGINS_BASE($GST_MAJORMINOR, [$GSTPB_REQ], yes)
 
 dnl check for uninstalled plugin directories for unit tests
-AG_GST_CHECK_GST_PLUGINS_GOOD($GST_MAJORMINOR, [0.10.25])
-AG_GST_CHECK_GST_PLUGINS_UGLY($GST_MAJORMINOR, [0.10.16])
-AG_GST_CHECK_GST_PLUGINS_FFMPEG($GST_MAJORMINOR, [0.10.11])
+AG_GST_CHECK_GST_PLUGINS_GOOD($GST_MAJORMINOR, [0.11.0])
+AG_GST_CHECK_GST_PLUGINS_UGLY($GST_MAJORMINOR, [0.11.0])
+AG_GST_CHECK_GST_PLUGINS_FFMPEG($GST_MAJORMINOR, [0.11.0])
 
 dnl Check for documentation xrefs
 GLIB_PREFIX="`$PKG_CONFIG --variable=prefix glib-2.0`"
@@ -291,6 +291,24 @@ dnl used in examples
 AG_GST_DEFAULT_ELEMENTS
 
 dnl *** plug-ins to include ***
+dnl Non ported plugins (non-dependant, then dependant)
+dnl Make sure you have a space before and after all plugins
+GST_PLUGINS_NONPORTED=" adpcmdec adpcmenc aiff asfmux \
+ audiovisualizers autoconvert bayer camerabin cdxaparse coloreffects \
+ dataurisrc dccp debugutils dtmf dvbsuboverlay dvdspu faceoverlay festival \
+ fieldanalysis freeze frei0r gaudieffects geometrictransform h264parse \
+ hdvparse hls id3tag interlace ivfparse jpegformat jp2kdecimator \
+ liveadder legacyresample librfb mpegdemux mpegtsdemux mpegtsmux \
+ mpegpsmux mpeg4videoparse mpegvideoparse mve mxf nsf nuvdemux \
+ patchdetect pcapparse pnm rawparse real rtpmux rtpvp8 scaletempo \
+ sdi segmentclip siren speed subenc stereo tta videofilters \
+ videomaxrate videomeasure videoparsers videosignal vmnc y4m \
+ decklink dvb fbdev linsys shm vcd \
+ voaacenc assrender apexsink bz2 cog curl dc1394 dirac dts resindvd \
+ faac gsettings jp2k ladspa libmms modplug mpeg2enc mimic \
+ musepack musicbrainz neon rsvg schro sdl sndfile soundtouch \
+ vp8 xvid "
+AC_SUBST(GST_PLUGINS_NONPORTED)
 
 dnl these are all the gst plug-ins, compilable without additional libs
 AG_GST_CHECK_PLUGIN(adpcmdec)
@@ -304,7 +322,6 @@ AG_GST_CHECK_PLUGIN(camerabin)
 AG_GST_CHECK_PLUGIN(camerabin2)
 AG_GST_CHECK_PLUGIN(cdxaparse)
 AG_GST_CHECK_PLUGIN(coloreffects)
-AG_GST_CHECK_PLUGIN(colorspace)
 AG_GST_CHECK_PLUGIN(dataurisrc)
 AG_GST_CHECK_PLUGIN(dccp)
 AG_GST_CHECK_PLUGIN(debugutils)
@@ -1844,6 +1861,7 @@ dnl FIXME: do we want to rename to GST_ALL_* ?
 dnl prefer internal headers to already installed ones
 dnl also add builddir include for enumtypes and marshal
 dnl add GST_OPTION_CFLAGS, but overridable
+GST_CFLAGS="$GST_CFLAGS -DGST_USE_UNSTABLE_API"
 GST_CXXFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CXXFLAGS)"
 GST_CFLAGS="$GST_CFLAGS $GLIB_EXTRA_CFLAGS \$(GST_OPTION_CFLAGS)"
 AC_SUBST(GST_CFLAGS)
@@ -1891,7 +1909,6 @@ gst/bayer/Makefile
 gst/camerabin/Makefile
 gst/camerabin2/Makefile
 gst/cdxaparse/Makefile
-gst/colorspace/Makefile
 gst/coloreffects/Makefile
 gst/dataurisrc/Makefile
 gst/dccp/Makefile
index 7343e2537a0cfcd23f8cbdcbc72fe4ac7806cc02..c32d27af06dfce61c79daffcc725d7aefee56dac 100644 (file)
@@ -132,10 +132,9 @@ static DFBSurfacePixelFormat gst_dfbvideosink_get_format_from_caps (GstCaps *
 static void gst_dfbvideosink_update_colorbalance (GstDfbVideoSink *
     dfbvideosink);
 static void gst_dfbvideosink_surface_destroy (GstDfbVideoSink * dfbvideosink,
-    GstDfbSurface * surface);
+    GstBuffer * surface);
 
 static GstVideoSinkClass *parent_class = NULL;
-static GstBufferClass *surface_parent_class = NULL;
 
 #ifndef GST_DISABLE_GST_DEBUG
 static const char *
@@ -188,12 +187,52 @@ gst_dfbvideosink_get_format_name (DFBSurfacePixelFormat format)
 }
 #endif /* GST_DISABLE_GST_DEBUG */
 
+static void
+gst_dfbsurface_dispose (GstBuffer * surface)
+{
+  GstDfbVideoSink *dfbvideosink = NULL;
+  GstMetaDfbSurface *meta;
+
+  g_return_if_fail (surface != NULL);
+
+  meta = GST_META_DFBSURFACE_GET (surface);
+
+  dfbvideosink = meta->dfbvideosink;
+  if (!dfbvideosink) {
+    GST_WARNING_OBJECT (surface, "no sink found");
+    goto beach;
+  }
+
+  /* If our geometry changed we can't reuse that image. */
+  if ((meta->width != dfbvideosink->video_width) ||
+      (meta->height != dfbvideosink->video_height) ||
+      (meta->pixel_format != dfbvideosink->pixel_format)) {
+    GST_DEBUG_OBJECT (dfbvideosink, "destroy surface %p as its size changed "
+        "%dx%d vs current %dx%d", surface, meta->width, meta->height,
+        dfbvideosink->video_width, dfbvideosink->video_height);
+    gst_dfbvideosink_surface_destroy (dfbvideosink, surface);
+  } else {
+    /* In that case we can reuse the image and add it to our image pool. */
+    GST_DEBUG_OBJECT (dfbvideosink, "recycling surface %p in pool", surface);
+    /* need to increment the refcount again to recycle */
+    gst_buffer_ref (surface);
+    g_mutex_lock (dfbvideosink->pool_lock);
+    dfbvideosink->buffer_pool = g_slist_prepend (dfbvideosink->buffer_pool,
+        surface);
+    g_mutex_unlock (dfbvideosink->pool_lock);
+  }
+
+beach:
+  return;
+}
+
 /* Creates miniobject and our internal surface */
-static GstDfbSurface *
+static GstBuffer *
 gst_dfbvideosink_surface_create (GstDfbVideoSink * dfbvideosink, GstCaps * caps,
     size_t size)
 {
-  GstDfbSurface *surface = NULL;
+  GstBuffer *surface = NULL;
+  GstMetaDfbSurface *meta = NULL;
   GstStructure *structure = NULL;
   DFBResult ret;
   DFBSurfaceDescription s_dsc;
@@ -203,25 +242,28 @@ gst_dfbvideosink_surface_create (GstDfbVideoSink * dfbvideosink, GstCaps * caps,
 
   g_return_val_if_fail (GST_IS_DFBVIDEOSINK (dfbvideosink), NULL);
 
-  surface = (GstDfbSurface *) gst_mini_object_new (GST_TYPE_DFBSURFACE);
+  surface = gst_buffer_new ();
+  GST_MINI_OBJECT_CAST (surface)->dispose =
+      (GstMiniObjectDisposeFunction) gst_dfbsurface_dispose;
+  meta = GST_META_DFBSURFACE_ADD (surface);
 
   /* Keep a ref to our sink */
-  surface->dfbvideosink = gst_object_ref (dfbvideosink);
+  meta->dfbvideosink = gst_object_ref (dfbvideosink);
   /* Surface is not locked yet */
-  surface->locked = FALSE;
+  meta->locked = FALSE;
 
   structure = gst_caps_get_structure (caps, 0);
 
-  if (!gst_structure_get_int (structure, "width", &surface->width) ||
-      !gst_structure_get_int (structure, "height", &surface->height)) {
+  if (!gst_structure_get_int (structure, "width", &meta->width) ||
+      !gst_structure_get_int (structure, "height", &meta->height)) {
     GST_WARNING_OBJECT (dfbvideosink, "failed getting geometry from caps %"
         GST_PTR_FORMAT, caps);
     goto fallback;
   }
 
   /* Pixel format from caps */
-  surface->pixel_format = gst_dfbvideosink_get_format_from_caps (caps);
-  if (surface->pixel_format == DSPF_UNKNOWN) {
+  meta->pixel_format = gst_dfbvideosink_get_format_from_caps (caps);
+  if (meta->pixel_format == DSPF_UNKNOWN) {
     goto fallback;
   }
 
@@ -236,41 +278,41 @@ gst_dfbvideosink_surface_create (GstDfbVideoSink * dfbvideosink, GstCaps * caps,
   s_dsc.flags =
       DSDESC_PIXELFORMAT | DSDESC_WIDTH | DSDESC_HEIGHT /*| DSDESC_CAPS */ ;
 
-  s_dsc.pixelformat = surface->pixel_format;
-  s_dsc.width = surface->width;
-  s_dsc.height = surface->height;
+  s_dsc.pixelformat = meta->pixel_format;
+  s_dsc.width = meta->width;
+  s_dsc.height = meta->height;
   /*s_dsc.caps = DSCAPS_VIDEOONLY; */
 
   ret = dfbvideosink->dfb->CreateSurface (dfbvideosink->dfb, &s_dsc,
-      &surface->surface);
+      &meta->surface);
   if (ret != DFB_OK) {
     GST_WARNING_OBJECT (dfbvideosink, "failed creating a DirectFB surface");
-    surface->surface = NULL;
+    meta->surface = NULL;
     goto fallback;
   }
 
   /* Clearing surface */
-  surface->surface->Clear (surface->surface, 0x00, 0x00, 0x00, 0xFF);
+  meta->surface->Clear (meta->surface, 0x00, 0x00, 0x00, 0xFF);
 
   /* Locking the surface to acquire the memory pointer */
-  surface->surface->Lock (surface->surface, DSLF_WRITE, &data, &pitch);
-  surface->locked = TRUE;
+  meta->surface->Lock (meta->surface, DSLF_WRITE, &data, &pitch);
+  meta->locked = TRUE;
   GST_BUFFER_DATA (surface) = data;
-  GST_BUFFER_SIZE (surface) = pitch * surface->height;
+  GST_BUFFER_SIZE (surface) = pitch * meta->height;
 
   /* Be carefull here. If size is different from the surface size
      (pitch * height), we can't use that surface through buffer alloc system
      or we are going to run into serious stride issues */
   if (GST_BUFFER_SIZE (surface) != size) {
     GST_WARNING_OBJECT (dfbvideosink, "DirectFB surface size (%dx%d=%d) "
-        "differs from GStreamer requested size %u", pitch, surface->height,
+        "differs from GStreamer requested size %u", pitch, meta->height,
         GST_BUFFER_SIZE (surface), (guint) size);
     goto fallback;
   }
 
   GST_DEBUG_OBJECT (dfbvideosink, "creating a %dx%d surface (%p) with %s "
-      "pixel format, line pitch %d", surface->width, surface->height, surface,
-      gst_dfbvideosink_get_format_name (surface->pixel_format), pitch);
+      "pixel format, line pitch %d", meta->width, meta->height, surface,
+      gst_dfbvideosink_get_format_name (meta->pixel_format), pitch);
 
   succeeded = TRUE;
 
@@ -280,16 +322,17 @@ fallback:
 
   /* We allocate a standard buffer ourselves to store it in our buffer pool,
      this is an optimisation for memory allocation */
-  GST_BUFFER (surface)->malloc_data = g_malloc (size);
-  GST_BUFFER_DATA (surface) = GST_BUFFER (surface)->malloc_data;
+  GST_BUFFER_MALLOCDATA (surface) = g_malloc (size);
+  GST_BUFFER_DATA (surface) = GST_BUFFER_MALLOCDATA (surface);
   GST_BUFFER_SIZE (surface) = size;
-  if (surface->surface) {
-    if (surface->locked) {
-      surface->surface->Unlock (surface->surface);
-      surface->locked = FALSE;
+
+  if (meta->surface) {
+    if (meta->locked) {
+      meta->surface->Unlock (meta->surface);
+      meta->locked = FALSE;
     }
-    surface->surface->Release (surface->surface);
-    surface->surface = NULL;
+    meta->surface->Release (meta->surface);
+    meta->surface = NULL;
   }
   GST_DEBUG_OBJECT (dfbvideosink, "allocating a buffer (%p) of %u bytes",
       surface, (guint) size);
@@ -308,28 +351,29 @@ beach:
  * destroyed so we just have to clean our internal stuff */
 static void
 gst_dfbvideosink_surface_destroy (GstDfbVideoSink * dfbvideosink,
-    GstDfbSurface * surface)
+    GstBuffer * surface)
 {
+  GstMetaDfbSurface *meta;
+
   g_return_if_fail (GST_IS_DFBVIDEOSINK (dfbvideosink));
 
+  meta = GST_META_DFBSURFACE_GET (surface);
+
   /* Release our internal surface */
-  if (surface->surface) {
-    if (surface->locked) {
-      surface->surface->Unlock (surface->surface);
-      surface->locked = FALSE;
+  if (meta->surface) {
+    if (meta->locked) {
+      meta->surface->Unlock (meta->surface);
+      meta->locked = FALSE;
     }
-    surface->surface->Release (surface->surface);
-    surface->surface = NULL;
+    meta->surface->Release (meta->surface);
+    meta->surface = NULL;
   }
 
-  if (surface->dfbvideosink) {
+  if (meta->dfbvideosink) {
     /* Release the ref to our sink */
-    surface->dfbvideosink = NULL;
+    meta->dfbvideosink = NULL;
     gst_object_unref (dfbvideosink);
   }
-
-  GST_MINI_OBJECT_CLASS (surface_parent_class)->finalize (GST_MINI_OBJECT
-      (surface));
 }
 
 static gpointer
@@ -339,8 +383,8 @@ gst_dfbvideosink_event_thread (GstDfbVideoSink * dfbvideosink)
 
   while (dfbvideosink->running) {
     /* Wait for an event with a 50 ms timeout */
-    dfbvideosink->event_buffer->
-        WaitForEventWithTimeout (dfbvideosink->event_buffer, 0, 50);
+    dfbvideosink->event_buffer->WaitForEventWithTimeout (dfbvideosink->
+        event_buffer, 0, 50);
 
     /* Do we have an event ? */
     ret = dfbvideosink->event_buffer->HasEvent (dfbvideosink->event_buffer);
@@ -1515,6 +1559,7 @@ gst_dfbvideosink_show_frame (GstBaseSink * bsink, GstBuffer * buf)
   GstVideoRectangle dst, src, result;
   GstFlowReturn ret = GST_FLOW_OK;
   gboolean mem_cpy = TRUE;
+  GstMetaDfbSurface *meta;
 
   dfbvideosink = GST_DFBVIDEOSINK (bsink);
 
@@ -1523,12 +1568,12 @@ gst_dfbvideosink_show_frame (GstBaseSink * bsink, GstBuffer * buf)
     goto beach;
   }
 
-  /* Is that a buffer we allocated ourselves ? */
-  if (GST_IS_DFBSURFACE (buf)) {
-    GstDfbSurface *tmp_surface = GST_DFBSURFACE (buf);
+  meta = GST_META_DFBSURFACE_GET (buf);
 
+  /* Is that a buffer we allocated ourselves ? */
+  if (meta != NULL) {
     /* Does it have a surface ? */
-    if (tmp_surface->surface) {
+    if (meta->surface) {
       mem_cpy = FALSE;
       GST_DEBUG_OBJECT (dfbvideosink, "we have a buffer (%p) we allocated "
           "ourselves and it has a surface, no memcpy then", buf);
@@ -1624,8 +1669,6 @@ gst_dfbvideosink_show_frame (GstBaseSink * bsink, GstBuffer * buf)
     }
   } else {
     /* Else we will [Stretch]Blit to our primary */
-    GstDfbSurface *surface = GST_DFBSURFACE (buf);
-
     GST_DEBUG_OBJECT (dfbvideosink, "blitting to a primary surface (vsync %d)",
         dfbvideosink->vsync);
 
@@ -1635,9 +1678,9 @@ gst_dfbvideosink_show_frame (GstBaseSink * bsink, GstBuffer * buf)
     dfbvideosink->primary->GetSize (dfbvideosink->primary, &dst.w, &dst.h);
 
     /* Unlocking surface before blit */
-    if (surface->locked) {
-      surface->surface->Unlock (surface->surface);
-      surface->locked = FALSE;
+    if (meta->locked) {
+      meta->surface->Unlock (meta->surface);
+      meta->locked = FALSE;
     }
 
     gst_video_sink_center_rect (src, dst, &result, dfbvideosink->hw_scaling);
@@ -1649,14 +1692,14 @@ gst_dfbvideosink_show_frame (GstBaseSink * bsink, GstBuffer * buf)
 
     if (dfbvideosink->hw_scaling) {
       dfbvideosink->primary->StretchBlit (dfbvideosink->primary,
-          surface->surface, NULL, (DFBRectangle *) (void *) &result);
+          meta->surface, NULL, (DFBRectangle *) (void *) &result);
     } else {
       DFBRectangle clip;
 
       clip.x = clip.y = 0;
       clip.w = result.w;
       clip.h = result.h;
-      dfbvideosink->primary->Blit (dfbvideosink->primary, surface->surface,
+      dfbvideosink->primary->Blit (dfbvideosink->primary, meta->surface,
           &clip, result.x, result.y);
     }
 
@@ -1679,7 +1722,7 @@ gst_dfbvideosink_bufferpool_clear (GstDfbVideoSink * dfbvideosink)
 {
   g_mutex_lock (dfbvideosink->pool_lock);
   while (dfbvideosink->buffer_pool) {
-    GstDfbSurface *surface = dfbvideosink->buffer_pool->data;
+    GstBuffer *surface = dfbvideosink->buffer_pool->data;
 
     dfbvideosink->buffer_pool = g_slist_delete_link (dfbvideosink->buffer_pool,
         dfbvideosink->buffer_pool);
@@ -1696,7 +1739,7 @@ gst_dfbvideosink_buffer_alloc (GstBaseSink * bsink, guint64 offset, guint size,
     GstCaps * caps, GstBuffer ** buf)
 {
   GstDfbVideoSink *dfbvideosink;
-  GstDfbSurface *surface = NULL;
+  GstBuffer *surface = NULL;
   GstFlowReturn ret = GST_FLOW_OK;
 
   gboolean rev_nego = FALSE;
@@ -1798,7 +1841,9 @@ alloc:
   /* Inspect our buffer pool */
   g_mutex_lock (dfbvideosink->pool_lock);
   while (dfbvideosink->buffer_pool) {
-    surface = (GstDfbSurface *) dfbvideosink->buffer_pool->data;
+    GstMetaDfbSurface *meta;
+
+    surface = (GstBuffer *) dfbvideosink->buffer_pool->data;
 
     if (surface) {
       /* Removing from the pool */
@@ -1806,10 +1851,12 @@ alloc:
           g_slist_delete_link (dfbvideosink->buffer_pool,
           dfbvideosink->buffer_pool);
 
+      meta = GST_META_DFBSURFACE_GET (surface);
+
       /* If the surface is invalid for our need, destroy */
-      if ((surface->width != width) ||
-          (surface->height != height) ||
-          (surface->pixel_format != dfbvideosink->pixel_format)) {
+      if ((meta->width != width) ||
+          (meta->height != height) ||
+          (meta->pixel_format != dfbvideosink->pixel_format)) {
         gst_dfbvideosink_surface_destroy (dfbvideosink, surface);
         surface = NULL;
       } else {
@@ -1832,100 +1879,34 @@ alloc:
   /* Now we should have a surface, set appropriate caps on it */
   if (surface) {
     if (rev_nego) {
-      gst_buffer_set_caps (GST_BUFFER (surface), desired_caps);
+      gst_buffer_set_caps (surface, desired_caps);
     } else {
-      gst_buffer_set_caps (GST_BUFFER (surface), caps);
+      gst_buffer_set_caps (surface, caps);
     }
   }
 
-  *buf = GST_BUFFER (surface);
+  *buf = surface;
 
   gst_caps_unref (desired_caps);
 
   return ret;
 }
 
-/* Our subclass of GstBuffer */
-
-static void
-gst_dfbsurface_finalize (GstDfbSurface * surface)
-{
-  GstDfbVideoSink *dfbvideosink = NULL;
-
-  g_return_if_fail (surface != NULL);
-
-  dfbvideosink = surface->dfbvideosink;
-  if (!dfbvideosink) {
-    GST_WARNING_OBJECT (surface, "no sink found");
-    goto beach;
-  }
-
-  /* If our geometry changed we can't reuse that image. */
-  if ((surface->width != dfbvideosink->video_width) ||
-      (surface->height != dfbvideosink->video_height) ||
-      (surface->pixel_format != dfbvideosink->pixel_format)) {
-    GST_DEBUG_OBJECT (dfbvideosink, "destroy surface %p as its size changed "
-        "%dx%d vs current %dx%d", surface, surface->width, surface->height,
-        dfbvideosink->video_width, dfbvideosink->video_height);
-    gst_dfbvideosink_surface_destroy (dfbvideosink, surface);
-  } else {
-    /* In that case we can reuse the image and add it to our image pool. */
-    GST_DEBUG_OBJECT (dfbvideosink, "recycling surface %p in pool", surface);
-    /* need to increment the refcount again to recycle */
-    gst_buffer_ref (GST_BUFFER (surface));
-    g_mutex_lock (dfbvideosink->pool_lock);
-    dfbvideosink->buffer_pool = g_slist_prepend (dfbvideosink->buffer_pool,
-        surface);
-    g_mutex_unlock (dfbvideosink->pool_lock);
-  }
-
-beach:
-  return;
-}
-
-static void
-gst_dfbsurface_init (GstDfbSurface * surface, gpointer g_class)
+/* our metadata */
+const GstMetaInfo *
+gst_meta_dfbsurface_get_info (void)
 {
-  surface->surface = NULL;
-  surface->width = 0;
-  surface->height = 0;
-  surface->pixel_format = DSPF_UNKNOWN;
-  surface->dfbvideosink = NULL;
-}
+  static const GstMetaInfo *meta_info = NULL;
 
-static void
-gst_dfbsurface_class_init (gpointer g_class, gpointer class_data)
-{
-  GstMiniObjectClass *mini_object_class = GST_MINI_OBJECT_CLASS (g_class);
-
-  surface_parent_class = g_type_class_peek_parent (g_class);
-
-  mini_object_class->finalize = (GstMiniObjectFinalizeFunction)
-      gst_dfbsurface_finalize;
-}
-
-GType
-gst_dfbsurface_get_type (void)
-{
-  static GType _gst_dfbsurface_type;
-
-  if (G_UNLIKELY (_gst_dfbsurface_type == 0)) {
-    static const GTypeInfo dfbsurface_info = {
-      sizeof (GstBufferClass),
-      NULL,
-      NULL,
-      gst_dfbsurface_class_init,
-      NULL,
-      NULL,
-      sizeof (GstDfbSurface),
-      0,
-      (GInstanceInitFunc) gst_dfbsurface_init,
-      NULL
-    };
-    _gst_dfbsurface_type = g_type_register_static (GST_TYPE_BUFFER,
-        "GstDfbSurface", &dfbsurface_info, 0);
+  if (meta_info == NULL) {
+    meta_info = gst_meta_register ("GstMetaDfbSurface", "GstMetaDfbSurface",
+        sizeof (GstMetaDfbSurface),
+        (GstMetaInitFunction) NULL,
+        (GstMetaFreeFunction) NULL,
+        (GstMetaTransformFunction) NULL,
+        (GstMetaSerializeFunction) NULL, (GstMetaDeserializeFunction) NULL);
   }
-  return _gst_dfbsurface_type;
+  return meta_info;
 }
 
 /* Interfaces stuff */
index bbab762d03d91a8f8c43c4261d1abc120f9613ac..4d911416c4ceb016604828063cb5bd5108598bb0 100644 (file)
@@ -35,25 +35,25 @@ G_BEGIN_DECLS
 typedef struct _GstDfbVideoSink GstDfbVideoSink;
 typedef struct _GstDfbVideoSinkClass GstDfbVideoSinkClass;
 
-#define GST_TYPE_DFBSURFACE (gst_dfbsurface_get_type())
+typedef struct _GstMetaDfbSurface GstMetaDfbSurface;
 
-#define GST_IS_DFBSURFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DFBSURFACE))
-#define GST_DFBSURFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_DFBSURFACE, GstDfbSurface))
+const GstMetaInfo * gst_meta_dfbsurface_get_info (void);
+
+#define GST_META_DFBSURFACE_GET(buf) ((GstMetaDfbSurface *)gst_buffer_get_meta(buf,gst_meta_dfbsurface_get_info()))
+#define GST_META_DFBSURFACE_ADD(buf) ((GstMetaDfbSurface *)gst_buffer_add_meta(buf,gst_meta_dfbsurface_get_info(),NULL))
+
+struct _GstMetaDfbSurface {
+  GstMeta meta;
 
-typedef struct _GstDfbSurface GstDfbSurface;
-  
-struct _GstDfbSurface {
-  GstBuffer buffer; /* We extend GstBuffer */
-  
   IDirectFBSurface *surface;
-  
+
   gint width;
   gint height;
-  
+
   gboolean locked;
-  
+
   DFBSurfacePixelFormat pixel_format;
-  
+
   GstDfbVideoSink *dfbvideosink;
 };
 
@@ -123,7 +123,6 @@ struct _GstDfbVideoSinkClass {
 };
 
 GType gst_dfbvideosink_get_type (void);
-GType gst_dfbsurface_get_type (void);
 
 G_END_DECLS
 
index 252e9529deddf66f6dfb40261b2c7504401b069b..ee34e811bbb95d5b6889a1d9b6d0b10e56c8e80f 100644 (file)
@@ -95,24 +95,12 @@ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
     GST_STATIC_CAPS ("audio/mpeg, " "mpegversion = (int) { 2, 4 }")
     );
 
-#define STATIC_INT_CAPS(bpp) \
-  "audio/x-raw-int, " \
-    "endianness = (int) BYTE_ORDER, " \
-    "signed = (bool) TRUE, " \
-    "width = (int) " G_STRINGIFY (bpp) ", " \
-    "depth = (int) " G_STRINGIFY (bpp) ", " \
+#define STATIC_RAW_CAPS(format) \
+  "audio/x-raw, " \
+    "format = (string) "GST_AUDIO_NE(format)", " \
     "rate = (int) [ 8000, 96000 ], " \
     "channels = (int) [ 1, 8 ]"
 
-#if 0
-#define STATIC_FLOAT_CAPS(bpp) \
-  "audio/x-raw-float, " \
-    "endianness = (int) BYTE_ORDER, " \
-    "depth = (int) " G_STRINGIFY (bpp) ", " \
-    "rate = (int) [ 8000, 96000 ], " \
-    "channels = (int) [ 1, 8 ]"
-#endif
-
 /*
  * All except 16-bit integer are disabled until someone fixes FAAD.
  * FAAD allocates approximately 8*1024*2 bytes bytes, which is enough
@@ -122,16 +110,16 @@ static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
  */
 
 #define STATIC_CAPS \
-  STATIC_INT_CAPS (16)
+  STATIC_RAW_CAPS (S16)
 #if 0
 #define NOTUSED "; " \
-STATIC_INT_CAPS (24) \
+STATIC_RAW_CAPS (S24) \
     "; " \
-STATIC_INT_CAPS (32) \
+STATIC_RAW_CAPS (S32) \
     "; " \
-STATIC_FLOAT_CAPS (32) \
+STATIC_RAW_CAPS (F32) \
     "; " \
-STATIC_FLOAT_CAPS (64)
+STATIC_RAW_CAPS (F64)
 #endif
 
 static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
@@ -154,12 +142,14 @@ static void gst_faad_flush (GstAudioDecoder * dec, gboolean hard);
 static gboolean gst_faad_open_decoder (GstFaad * faad);
 static void gst_faad_close_decoder (GstFaad * faad);
 
-GST_BOILERPLATE (GstFaad, gst_faad, GstAudioDecoder, GST_TYPE_AUDIO_DECODER);
+#define gst_faad_parent_class parent_class
+G_DEFINE_TYPE (GstFaad, gst_faad, GST_TYPE_AUDIO_DECODER);
 
 static void
-gst_faad_base_init (gpointer klass)
+gst_faad_class_init (GstFaadClass * klass)
 {
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+  GstAudioDecoderClass *base_class = GST_AUDIO_DECODER_CLASS (klass);
 
   gst_element_class_add_pad_template (element_class,
       gst_static_pad_template_get (&src_template));
@@ -171,26 +161,18 @@ gst_faad_base_init (gpointer klass)
       "Free MPEG-2/4 AAC decoder",
       "Ronald Bultje <rbultje@ronald.bitfreak.net>");
 
-  GST_DEBUG_CATEGORY_INIT (faad_debug, "faad", 0, "AAC decoding");
-}
-
-static void
-gst_faad_class_init (GstFaadClass * klass)
-{
-  GstAudioDecoderClass *base_class = GST_AUDIO_DECODER_CLASS (klass);
-
-  parent_class = g_type_class_peek_parent (klass);
-
   base_class->start = GST_DEBUG_FUNCPTR (gst_faad_start);
   base_class->stop = GST_DEBUG_FUNCPTR (gst_faad_stop);
   base_class->set_format = GST_DEBUG_FUNCPTR (gst_faad_set_format);
   base_class->parse = GST_DEBUG_FUNCPTR (gst_faad_parse);
   base_class->handle_frame = GST_DEBUG_FUNCPTR (gst_faad_handle_frame);
   base_class->flush = GST_DEBUG_FUNCPTR (gst_faad_flush);
+
+  GST_DEBUG_CATEGORY_INIT (faad_debug, "faad", 0, "AAC decoding");
 }
 
 static void
-gst_faad_init (GstFaad * faad, GstFaadClass * klass)
+gst_faad_init (GstFaad * faad)
 {
   gst_faad_reset (faad);
 }
@@ -280,6 +262,8 @@ gst_faad_set_format (GstAudioDecoder * dec, GstCaps * caps)
   GstStructure *str = gst_caps_get_structure (caps, 0);
   GstBuffer *buf;
   const GValue *value;
+  guint8 *cdata;
+  gsize csize;
 
   /* clean up current decoder, rather than trying to reconfigure */
   gst_faad_close_decoder (faad);
@@ -294,8 +278,6 @@ gst_faad_set_format (GstAudioDecoder * dec, GstCaps * caps)
     guint32 samplerate;
 #endif
     guint8 channels;
-    guint8 *cdata;
-    guint csize;
 
     /* We have codec data, means packetised stream */
     faad->packetised = TRUE;
@@ -303,8 +285,7 @@ gst_faad_set_format (GstAudioDecoder * dec, GstCaps * caps)
     buf = gst_value_get_buffer (value);
     g_return_val_if_fail (buf != NULL, FALSE);
 
-    cdata = GST_BUFFER_DATA (buf);
-    csize = GST_BUFFER_SIZE (buf);
+    cdata = gst_buffer_map (buf, &csize, NULL, GST_MAP_READ);
 
     if (csize < 2)
       goto wrong_length;
@@ -375,18 +356,21 @@ wrong_length:
   {
     GST_DEBUG_OBJECT (faad, "codec_data less than 2 bytes long");
     gst_object_unref (faad);
+    gst_buffer_unmap (buf, cdata, csize);
     return FALSE;
   }
 open_failed:
   {
     GST_DEBUG_OBJECT (faad, "failed to create decoder");
     gst_object_unref (faad);
+    gst_buffer_unmap (buf, cdata, csize);
     return FALSE;
   }
 init_failed:
   {
     GST_DEBUG_OBJECT (faad, "faacDecInit2() failed");
     gst_object_unref (faad);
+    gst_buffer_unmap (buf, cdata, csize);
     return FALSE;
   }
 }
@@ -662,9 +646,13 @@ gst_faad_parse (GstAudioDecoder * dec, GstAdapter * adapter,
     *length = size;
     return GST_FLOW_OK;
   } else {
-    data = gst_adapter_peek (adapter, size);
-    return gst_faad_sync (faad, data, size, !eos, offset, length) ?
-        GST_FLOW_OK : GST_FLOW_UNEXPECTED;
+    gboolean ret;
+
+    data = gst_adapter_map (adapter, size);
+    ret = gst_faad_sync (faad, data, size, !eos, offset, length);
+    gst_adapter_unmap (adapter, 0);
+
+    return (ret ? GST_FLOW_OK : GST_FLOW_UNEXPECTED);
   }
 }
 
@@ -673,7 +661,7 @@ gst_faad_handle_frame (GstAudioDecoder * dec, GstBuffer * buffer)
 {
   GstFaad *faad;
   GstFlowReturn ret = GST_FLOW_OK;
-  guint input_size;
+  gsize input_size;
   guchar *input_data;
   GstBuffer *outbuf;
   faacDecFrameInfo info;
@@ -685,8 +673,7 @@ gst_faad_handle_frame (GstAudioDecoder * dec, GstBuffer * buffer)
   if (G_UNLIKELY (!buffer))
     return GST_FLOW_OK;
 
-  input_data = GST_BUFFER_DATA (buffer);
-  input_size = GST_BUFFER_SIZE (buffer);
+  input_data = gst_buffer_map (buffer, &input_size, NULL, GST_MAP_READ);
 
 init:
   /* init if not already done during capsnego */
@@ -764,20 +751,17 @@ init:
         goto sample_overflow;
 
       /* note: info.samples is total samples, not per channel */
-      ret =
-          gst_pad_alloc_buffer_and_set_caps (GST_AUDIO_DECODER_SRC_PAD
-          (faad), 0, info.samples * faad->bps,
-          GST_PAD_CAPS (GST_AUDIO_DECODER_SRC_PAD (faad)), &outbuf);
-      if (ret != GST_FLOW_OK)
-        goto out;
-
-      memcpy (GST_BUFFER_DATA (outbuf), out, GST_BUFFER_SIZE (outbuf));
+      /* FIXME, add bufferpool and allocator support to the base class */
+      outbuf = gst_buffer_new_allocate (NULL, info.samples * faad->bps, 0);
+      gst_buffer_fill (outbuf, 0, out, info.samples * faad->bps);
 
       ret = gst_audio_decoder_finish_frame (dec, outbuf, 1);
     }
   } while (FALSE);
 
 out:
+  gst_buffer_unmap (buffer, input_data, input_size);
+
   return ret;
 
 /* ERRORS */
index 02fdd1f18afd2ddf5f564af89483fbc5597192c1..a69366f9d5a800c572d9722b247a4a8c65c56dd7 100644 (file)
@@ -121,13 +121,16 @@ static GstFlowReturn
 rsn_parsetter_chain (GstPad * pad, GstBuffer * buf)
 {
   RsnParSetter *parset = RSN_PARSETTER (GST_OBJECT_PARENT (pad));
+  RsnMetaWrapped *meta;
+
+  meta = RSN_META_WRAPPED_GET (buf);
 
   /* If this is a buffer we wrapped up earlier, unwrap it now */
-  if (RSN_IS_WRAPPEDBUFFER (buf)) {
-    RsnWrappedBuffer *wrap_buf = RSN_WRAPPEDBUFFER (buf);
+  if (meta != NULL) {
+    GstBuffer *wrap_buf = buf;
 
-    if (wrap_buf->owner == GST_ELEMENT (parset)) {
-      buf = rsn_wrappedbuffer_unwrap_and_unref (wrap_buf);
+    if (meta->owner == GST_ELEMENT (parset)) {
+      buf = rsn_meta_wrapped_unwrap_and_unref (wrap_buf, meta);
       GST_DEBUG_OBJECT (parset, "Unwrapping %p yields buffer %p with caps %"
           GST_PTR_FORMAT, wrap_buf, buf, GST_BUFFER_CAPS (buf));
     }
@@ -376,15 +379,12 @@ rsn_parsetter_sink_bufferalloc (GstPad * pad, guint64 offset, guint size,
     if (ret != GST_FLOW_OK)
       return ret;
 
-    outbuf = (GstBuffer *) rsn_wrapped_buffer_new (orig_buf);
+    outbuf = rsn_wrapped_buffer_new (orig_buf, GST_ELEMENT_CAST (parset));
     if (!outbuf) {
       /* FIXME: Throw error */
       return GST_FLOW_ERROR;
     }
 
-    rsn_wrapped_buffer_set_owner (RSN_WRAPPEDBUFFER (outbuf),
-        GST_ELEMENT (parset));
-
     gst_buffer_set_caps (outbuf, caps);
 
     GST_LOG_OBJECT (parset,
index 516cf352c3b4fd6a53e1039fbaa25b950315fec0..a5f4c0fd38342ce70888cba6313d993105abec4c 100644 (file)
 
 #include "rsnwrappedbuffer.h"
 
-G_DEFINE_TYPE (RsnWrappedBuffer, rsn_wrappedbuffer, GST_TYPE_BUFFER);
-
-static gboolean
-rsn_wrapped_buffer_default_release (GstElement * owner, RsnWrappedBuffer * buf);
-
-static void rsn_wrapped_buffer_finalize (RsnWrappedBuffer * wrap_buf);
-
-static void
-rsn_wrappedbuffer_class_init (RsnWrappedBufferClass * klass)
-{
-  GstMiniObjectClass *mini_object_class = GST_MINI_OBJECT_CLASS (klass);
-
-  mini_object_class->finalize = (GstMiniObjectFinalizeFunction)
-      rsn_wrapped_buffer_finalize;
-}
-
-static void
-rsn_wrappedbuffer_init (RsnWrappedBuffer * self)
-{
-  self->release = rsn_wrapped_buffer_default_release;
-}
-
-static void
-rsn_wrapped_buffer_finalize (RsnWrappedBuffer * wrap_buf)
+GstBuffer *
+rsn_wrapped_buffer_new (GstBuffer * buf_to_wrap, GstElement * owner)
 {
-  if (wrap_buf->release) {
-    /* Release might increment the refcount to recycle and return TRUE,
-     * in which case, exit without chaining up */
-    if (wrap_buf->release (wrap_buf->owner, wrap_buf))
-      return;
-  }
-
-  GST_MINI_OBJECT_CLASS (rsn_wrappedbuffer_parent_class)->finalize
-      (GST_MINI_OBJECT (wrap_buf));
-}
+  GstBuffer *buf;
+  RsnMetaWrapped *meta;
 
-RsnWrappedBuffer *
-rsn_wrapped_buffer_new (GstBuffer * buf_to_wrap)
-{
-  RsnWrappedBuffer *buf;
   g_return_val_if_fail (buf_to_wrap, NULL);
 
-  buf = (RsnWrappedBuffer *) gst_mini_object_new (RSN_TYPE_WRAPPEDBUFFER);
-  if (buf == NULL)
-    return NULL;
+  buf = gst_buffer_new ();
+  meta = RSN_META_WRAPPED_ADD (buf);
 
-  buf->wrapped_buffer = buf_to_wrap;
+  meta->wrapped_buffer = buf_to_wrap;
+  meta->owner = gst_object_ref (owner);
 
   GST_BUFFER_DATA (buf) = GST_BUFFER_DATA (buf_to_wrap);
   GST_BUFFER_SIZE (buf) = GST_BUFFER_SIZE (buf_to_wrap);
@@ -86,52 +52,29 @@ rsn_wrapped_buffer_new (GstBuffer * buf_to_wrap)
 }
 
 void
-rsn_wrapped_buffer_set_owner (RsnWrappedBuffer * wrapped_buf,
-    GstElement * owner)
+rsn_meta_wrapped_set_owner (RsnMetaWrapped * meta, GstElement * owner)
 {
-  g_return_if_fail (wrapped_buf != NULL);
+  g_return_if_fail (meta != NULL);
 
-  if (wrapped_buf->owner)
-    gst_object_unref (wrapped_buf->owner);
+  if (meta->owner)
+    gst_object_unref (meta->owner);
 
   if (owner)
-    wrapped_buf->owner = gst_object_ref (owner);
-  else
-    wrapped_buf->owner = NULL;
-}
+    gst_object_ref (owner);
 
-void
-rsn_wrapped_buffer_set_releasefunc (RsnWrappedBuffer * wrapped_buf,
-    RsnWrappedBufferReleaseFunc release_func)
-{
-  g_return_if_fail (wrapped_buf != NULL);
-
-  wrapped_buf->release = release_func;
-}
-
-static gboolean
-rsn_wrapped_buffer_default_release (GstElement * owner, RsnWrappedBuffer * buf)
-{
-  g_return_val_if_fail (buf != NULL, FALSE);
-  g_return_val_if_fail (buf->wrapped_buffer != NULL, FALSE);
-
-  gst_buffer_unref (buf->wrapped_buffer);
-  if (buf->owner)
-    gst_object_unref (buf->owner);
-
-  return FALSE;
+  meta->owner = owner;
 }
 
 GstBuffer *
-rsn_wrappedbuffer_unwrap_and_unref (RsnWrappedBuffer * wrap_buf)
+rsn_meta_wrapped_unwrap_and_unref (GstBuffer * wrap_buf, RsnMetaWrapped * meta)
 {
   GstBuffer *buf;
   gboolean is_readonly;
 
   g_return_val_if_fail (wrap_buf != NULL, NULL);
-  g_return_val_if_fail (wrap_buf->wrapped_buffer != NULL, NULL);
+  g_return_val_if_fail (meta->wrapped_buffer != NULL, NULL);
 
-  buf = gst_buffer_ref (wrap_buf->wrapped_buffer);
+  buf = gst_buffer_ref (meta->wrapped_buffer);
   buf = gst_buffer_make_metadata_writable (buf);
 
   /* Copy changed metadata back to the wrapped buffer from the wrapper,
@@ -142,7 +85,37 @@ rsn_wrappedbuffer_unwrap_and_unref (RsnWrappedBuffer * wrap_buf)
   if (!is_readonly)
     GST_BUFFER_FLAG_UNSET (buf, GST_BUFFER_FLAG_READONLY);
 
-  gst_buffer_unref (GST_BUFFER (wrap_buf));
+  gst_buffer_unref (wrap_buf);
 
   return buf;
 }
+
+static void
+rsn_meta_wrapped_init (RsnMetaWrapped * meta, GstBuffer * buffer)
+{
+  meta->owner = NULL;
+}
+
+static void
+rsn_meta_wrapped_free (RsnMetaWrapped * meta, GstBuffer * buffer)
+{
+  gst_buffer_unref (meta->wrapped_buffer);
+  if (meta->owner)
+    gst_object_unref (meta->owner);
+}
+
+const GstMetaInfo *
+rsn_meta_wrapped_get_info (void)
+{
+  static const GstMetaInfo *meta_info = NULL;
+
+  if (meta_info == NULL) {
+    meta_info = gst_meta_register ("RsnMetaWrapped", "RsnMetaWrapped",
+        sizeof (RsnMetaWrapped),
+        (GstMetaInitFunction) rsn_meta_wrapped_init,
+        (GstMetaFreeFunction) rsn_meta_wrapped_free,
+        (GstMetaTransformFunction) NULL,
+        (GstMetaSerializeFunction) NULL, (GstMetaDeserializeFunction) NULL);
+  }
+  return meta_info;
+}
index 7c6a0e73560c5010d4d1ca75c1b56c4b62c71e10..3c0afe21fb5d25f7f11d2ccf1483ac01cfecf3bc 100644 (file)
 
 G_BEGIN_DECLS
 
-#define RSN_TYPE_WRAPPEDBUFFER (rsn_wrappedbuffer_get_type())
-#define RSN_WRAPPEDBUFFER(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj), RSN_TYPE_WRAPPEDBUFFER, \
-   RsnWrappedBuffer))
-#define RSN_WRAPPEDBUFFER_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass), RSN_TYPE_WRAPPEDBUFFER, \
-   RsnWrappedBufferClass))
-#define RSN_IS_WRAPPEDBUFFER(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj), RSN_TYPE_WRAPPEDBUFFER))
-#define RSN_IS_WRAPPEDBUFFER_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass), RSN_TYPE_WRAPPEDBUFFER))
+typedef struct _RsnMetaWrapped RsnMetaWrapped;
 
-typedef struct _RsnWrappedBuffer RsnWrappedBuffer;
-typedef struct _RsnWrappedBufferClass RsnWrappedBufferClass;
-
-typedef gboolean (*RsnWrappedBufferReleaseFunc)(GstElement *owner,
-    RsnWrappedBuffer *buf);
-
-struct _RsnWrappedBuffer {
-  GstBuffer     buffer;
+struct _RsnMetaWrapped {
+  GstMeta       meta;
   GstBuffer    *wrapped_buffer;
 
   GstElement   *owner;
-  RsnWrappedBufferReleaseFunc  release;
 };
 
-struct _RsnWrappedBufferClass 
-{
-  GstBufferClass parent_class;
-};
+GstBuffer *rsn_wrapped_buffer_new (GstBuffer *buf_to_wrap, GstElement *owner);
+
+GstBuffer *rsn_meta_wrapped_unwrap_and_unref (GstBuffer *wrap_buf, RsnMetaWrapped *meta);
+
+void rsn_meta_wrapped_set_owner (RsnMetaWrapped *meta, GstElement *owner);
 
-RsnWrappedBuffer *rsn_wrapped_buffer_new (GstBuffer *buf_to_wrap);
-GstBuffer *rsn_wrappedbuffer_unwrap_and_unref (RsnWrappedBuffer *wrap_buf);
-void rsn_wrapped_buffer_set_owner (RsnWrappedBuffer *wrapped_buf,
-    GstElement *owner);
-void rsn_wrapped_buffer_set_releasefunc (RsnWrappedBuffer *wrapped_buf,
-    RsnWrappedBufferReleaseFunc release_func);
+const GstMetaInfo * rsn_meta_wrapped_get_info (void);
 
-GType rsn_wrappedbuffer_get_type (void);
+#define RSN_META_WRAPPED_GET(buf) ((RsnMetaWrapped *)gst_buffer_get_meta(buf,rsn_meta_wrapped_get_info()))
+#define RSN_META_WRAPPED_ADD(buf) ((RsnMetaWrapped *)gst_buffer_add_meta(buf,rsn_meta_wrapped_get_info(),NULL))
 
 G_END_DECLS
 
index a4ef877fa28b2b6ccac2b78a7d8a2c0bf08c0fc5..56dc4b0069065b3c12be243c04c3fbb150251e92 100644 (file)
@@ -415,9 +415,9 @@ gst_sf_sink_loop (GstPad * pad)
 
   basesink->offset += GST_BUFFER_SIZE (buf);
 
-  GST_PAD_PREROLL_LOCK (pad);
+  GST_BASE_SINK_PREROLL_LOCK (basesink);
   result = gst_sf_sink_render (basesink, buf);
-  GST_PAD_PREROLL_UNLOCK (pad);
+  GST_BASE_SINK_PREROLL_UNLOCK (basesink);
   if (G_UNLIKELY (result != GST_FLOW_OK))
     goto paused;
 
index 878b185ebe2a1cee72ffe5c7cf39cd4cb4c025ab..d20684328bf4e30978819a58254482c07e670526 100644 (file)
@@ -62,8 +62,6 @@ gst_photography_get_type (void)
 
     gst_photography_type = g_type_register_static (G_TYPE_INTERFACE,
         "GstPhotography", &gst_photography_info, 0);
-    g_type_interface_add_prerequisite (gst_photography_type,
-        GST_TYPE_IMPLEMENTS_INTERFACE);
   }
 
   return gst_photography_type;
index 542a2272663b05a099f62d61c0182709f93239fc..ab82b4071579c3aad92761b09714c2492832c209 100644 (file)
@@ -217,9 +217,10 @@ gst_camerabin_image_dispose (GstCameraBinImage * img)
      taken by bin and therefore gst_object_sink is called for
      these elements (they may still be in floating state
      and not unreffed properly without sinking first)
+     FIXME, something else is wrong if you have to sink here
    */
   if (img->app_enc) {
-    gst_object_sink (img->app_enc);
+    //gst_object_ref_sink (img->app_enc);
     GST_LOG_OBJECT (img, "disposing %s with refcount %d",
         GST_ELEMENT_NAME (img->app_enc),
         GST_OBJECT_REFCOUNT_VALUE (img->app_enc));
@@ -228,7 +229,7 @@ gst_camerabin_image_dispose (GstCameraBinImage * img)
   }
 
   if (img->post) {
-    gst_object_sink (img->post);
+    //gst_object_ref_sink (img->post);
     GST_LOG_OBJECT (img, "disposing %s with refcount %d",
         GST_ELEMENT_NAME (img->post), GST_OBJECT_REFCOUNT_VALUE (img->post));
     gst_object_unref (img->post);
index 93e570db08902731e8186e7c7057bb1e1c4722eb..b54e9abdffc62ab591aab103983944b2118faf6f 100644 (file)
@@ -217,33 +217,34 @@ gst_camerabin_video_dispose (GstCameraBinVideo * vid)
      taken by bin and therefore gst_object_sink is called for
      these elements (they may still be in floating state
      and not unreffed properly without sinking first)
+     FIXME, something else is wrong when you have to sink here
    */
   if (vid->app_post) {
-    gst_object_sink (vid->app_post);
+    //gst_object_sink (vid->app_post);
     gst_object_unref (vid->app_post);
     vid->app_post = NULL;
   }
 
   if (vid->app_vid_enc) {
-    gst_object_sink (vid->app_vid_enc);
+    //gst_object_sink (vid->app_vid_enc);
     gst_object_unref (vid->app_vid_enc);
     vid->app_vid_enc = NULL;
   }
 
   if (vid->app_aud_enc) {
-    gst_object_sink (vid->app_aud_enc);
+    //gst_object_sink (vid->app_aud_enc);
     gst_object_unref (vid->app_aud_enc);
     vid->app_aud_enc = NULL;
   }
 
   if (vid->app_aud_src) {
-    gst_object_sink (vid->app_aud_src);
+    //gst_object_sink (vid->app_aud_src);
     gst_object_unref (vid->app_aud_src);
     vid->app_aud_src = NULL;
   }
 
   if (vid->app_mux) {
-    gst_object_sink (vid->app_mux);
+    //gst_object_sink (vid->app_mux);
     gst_object_unref (vid->app_mux);
     vid->app_mux = NULL;
   }
diff --git a/gst/colorspace/Makefile.am b/gst/colorspace/Makefile.am
deleted file mode 100644 (file)
index c5f5bd4..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-plugin_LTLIBRARIES = libgstcolorspace.la
-
-ORC_SOURCE=gstcolorspaceorc
-include $(top_srcdir)/common/orc.mak
-
-libgstcolorspace_la_SOURCES = gstcolorspace.c colorspace.c
-nodist_libgstcolorspace_la_SOURCES = $(ORC_NODIST_SOURCES)
-libgstcolorspace_la_CFLAGS = \
-       $(GST_PLUGINS_BASE_CFLAGS) \
-       $(GST_CFLAGS) \
-       $(ORC_CFLAGS)
-libgstcolorspace_la_LIBADD = \
-       $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_MAJORMINOR) \
-       $(GST_BASE_LIBS) \
-       $(GST_LIBS) \
-       $(ORC_LIBS)
-libgstcolorspace_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstcolorspace_la_LIBTOOLFLAGS = --tag=disable-static
-
-noinst_HEADERS = gstcolorspace.h colorspace.h
-
-Android.mk: Makefile.am $(BUILT_SOURCES)
-       androgenizer \
-       -:PROJECT libgstcolorspace -:SHARED libgstcolorspace \
-        -:TAGS eng debug \
-         -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \
-        -:SOURCES $(libgstcolorspace_la_SOURCES) \
-                  $(nodist_libgstcolorspace_la_SOURCES) \
-        -:CFLAGS $(DEFS) $(DEFAULT_INCLUDES) $(libgstcolorspace_la_CFLAGS) \
-        -:LDFLAGS $(libgstcolorspace_la_LDFLAGS) \
-                  $(libgstcolorspace_la_LIBADD) \
-                  -ldl \
-        -:PASSTHROUGH LOCAL_ARM_MODE:=arm \
-                      LOCAL_MODULE_PATH:='$$(TARGET_OUT)/lib/gstreamer-0.10' \
-       > $@
diff --git a/gst/colorspace/colorspace.c b/gst/colorspace/colorspace.c
deleted file mode 100644 (file)
index bfaa9e7..0000000
+++ /dev/null
@@ -1,2474 +0,0 @@
-/* GStreamer
- * Copyright (C) 2010 David Schleef <ds@schleef.org>
- * Copyright (C) 2010 Sebastian Dröge <sebastian.droege@collabora.co.uk>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "colorspace.h"
-#include <glib.h>
-#include <string.h>
-#include "gstcolorspaceorc.h"
-
-
-static void colorspace_convert_generic (ColorspaceConvert * convert,
-    guint8 * dest, const guint8 * src);
-static void colorspace_convert_lookup_fastpath (ColorspaceConvert * convert);
-static void colorspace_convert_lookup_getput (ColorspaceConvert * convert);
-static void colorspace_dither_none (ColorspaceConvert * convert, int j);
-static void colorspace_dither_verterr (ColorspaceConvert * convert, int j);
-static void colorspace_dither_halftone (ColorspaceConvert * convert, int j);
-
-
-ColorspaceConvert *
-colorspace_convert_new (GstVideoFormat to_format, ColorSpaceColorSpec to_spec,
-    GstVideoFormat from_format, ColorSpaceColorSpec from_spec,
-    int width, int height)
-{
-  ColorspaceConvert *convert;
-  int i;
-
-  g_return_val_if_fail (!gst_video_format_is_rgb (to_format)
-      || to_spec == COLOR_SPEC_RGB, NULL);
-  g_return_val_if_fail (!gst_video_format_is_yuv (to_format)
-      || to_spec == COLOR_SPEC_YUV_BT709
-      || to_spec == COLOR_SPEC_YUV_BT470_6
-      || to_spec == COLOR_SPEC_YUV_JPEG, NULL);
-  g_return_val_if_fail (gst_video_format_is_rgb (to_format)
-      || gst_video_format_is_yuv (to_format)
-      || (gst_video_format_is_gray (to_format) &&
-          to_spec == COLOR_SPEC_GRAY), NULL);
-
-  g_return_val_if_fail (!gst_video_format_is_rgb (from_format)
-      || from_spec == COLOR_SPEC_RGB, NULL);
-  g_return_val_if_fail (!gst_video_format_is_yuv (from_format)
-      || from_spec == COLOR_SPEC_YUV_BT709
-      || from_spec == COLOR_SPEC_YUV_BT470_6
-      || from_spec == COLOR_SPEC_YUV_JPEG, NULL);
-  g_return_val_if_fail (gst_video_format_is_rgb (from_format)
-      || gst_video_format_is_yuv (from_format)
-      || (gst_video_format_is_gray (from_format) &&
-          from_spec == COLOR_SPEC_GRAY), NULL);
-
-  convert = g_malloc (sizeof (ColorspaceConvert));
-  memset (convert, 0, sizeof (ColorspaceConvert));
-
-  convert->to_format = to_format;
-  convert->to_spec = to_spec;
-  convert->from_format = from_format;
-  convert->from_spec = from_spec;
-  convert->height = height;
-  convert->width = width;
-  convert->convert = colorspace_convert_generic;
-  convert->dither16 = colorspace_dither_none;
-
-  if (gst_video_format_get_component_depth (to_format, 0) > 8 ||
-      gst_video_format_get_component_depth (from_format, 0) > 8) {
-    convert->use_16bit = TRUE;
-  } else {
-    convert->use_16bit = FALSE;
-  }
-
-  for (i = 0; i < 4; i++) {
-    convert->dest_stride[i] = gst_video_format_get_row_stride (to_format, i,
-        width);
-    convert->dest_offset[i] = gst_video_format_get_component_offset (to_format,
-        i, width, height);
-    if (i == 0)
-      convert->dest_offset[i] = 0;
-
-    convert->src_stride[i] = gst_video_format_get_row_stride (from_format, i,
-        width);
-    convert->src_offset[i] = gst_video_format_get_component_offset (from_format,
-        i, width, height);
-    if (i == 0)
-      convert->src_offset[i] = 0;
-
-    GST_DEBUG ("%d: dest %d %d src %d %d", i,
-        convert->dest_stride[i], convert->dest_offset[i],
-        convert->src_stride[i], convert->src_offset[i]);
-  }
-
-  colorspace_convert_lookup_fastpath (convert);
-  colorspace_convert_lookup_getput (convert);
-
-  convert->tmpline = g_malloc (sizeof (guint8) * (width + 8) * 4);
-  convert->tmpline16 = g_malloc (sizeof (guint16) * (width + 8) * 4);
-  convert->errline = g_malloc (sizeof (guint16) * width * 4);
-
-  if (to_format == GST_VIDEO_FORMAT_RGB8_PALETTED) {
-    /* build poor man's palette, taken from ffmpegcolorspace */
-    static const guint8 pal_value[6] = { 0x00, 0x33, 0x66, 0x99, 0xcc, 0xff };
-    guint32 *palette;
-    gint r, g, b;
-
-    convert->palette = palette = g_new (guint32, 256);
-    i = 0;
-    for (r = 0; r < 6; r++) {
-      for (g = 0; g < 6; g++) {
-        for (b = 0; b < 6; b++) {
-          palette[i++] =
-              (0xffU << 24) | (pal_value[r] << 16) | (pal_value[g] << 8) |
-              pal_value[b];
-        }
-      }
-    }
-    palette[i++] = 0;           /* 100% transparent, i == 6*6*6 */
-    while (i < 256)
-      palette[i++] = 0xff000000;
-  }
-
-  return convert;
-}
-
-void
-colorspace_convert_free (ColorspaceConvert * convert)
-{
-  g_free (convert->palette);
-  g_free (convert->tmpline);
-  g_free (convert->tmpline16);
-  g_free (convert->errline);
-
-  g_free (convert);
-}
-
-void
-colorspace_convert_set_interlaced (ColorspaceConvert * convert,
-    gboolean interlaced)
-{
-  convert->interlaced = interlaced;
-}
-
-void
-colorspace_convert_set_dither (ColorspaceConvert * convert, int type)
-{
-  switch (type) {
-    case 0:
-    default:
-      convert->dither16 = colorspace_dither_none;
-      break;
-    case 1:
-      convert->dither16 = colorspace_dither_verterr;
-      break;
-    case 2:
-      convert->dither16 = colorspace_dither_halftone;
-      break;
-  }
-}
-
-void
-colorspace_convert_set_palette (ColorspaceConvert * convert,
-    const guint32 * palette)
-{
-  if (convert->palette == NULL) {
-    convert->palette = g_malloc (sizeof (guint32) * 256);
-  }
-  memcpy (convert->palette, palette, sizeof (guint32) * 256);
-}
-
-const guint32 *
-colorspace_convert_get_palette (ColorspaceConvert * convert)
-{
-  return convert->palette;
-}
-
-void
-colorspace_convert_convert (ColorspaceConvert * convert,
-    guint8 * dest, const guint8 * src)
-{
-  convert->convert (convert, dest, src);
-}
-
-/* Line conversion to AYUV */
-
-#define FRAME_GET_LINE(dir, comp, line) \
-  ((dir) + convert-> dir ## _offset[(comp)] + convert-> dir ## _stride[(comp)] * (line))
-
-static void
-getline_I420 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_I420 (dest,
-      FRAME_GET_LINE (src, 0, j),
-      FRAME_GET_LINE (src, 1, j >> 1),
-      FRAME_GET_LINE (src, 2, j >> 1), convert->width);
-}
-
-static void
-putline_I420 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_I420 (FRAME_GET_LINE (dest, 0, j),
-      FRAME_GET_LINE (dest, 1, j >> 1),
-      FRAME_GET_LINE (dest, 2, j >> 1), src, convert->width / 2);
-}
-
-static void
-getline_YV12 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_I420 (dest,
-      FRAME_GET_LINE (src, 0, j),
-      FRAME_GET_LINE (src, 1, j >> 1),
-      FRAME_GET_LINE (src, 2, j >> 1), convert->width);
-}
-
-static void
-putline_YV12 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_I420 (FRAME_GET_LINE (dest, 0, j),
-      FRAME_GET_LINE (dest, 1, j >> 1),
-      FRAME_GET_LINE (dest, 2, j >> 1), src, convert->width / 2);
-}
-
-static void
-getline_YUY2 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_YUY2 (dest, FRAME_GET_LINE (src, 0, j), convert->width / 2);
-}
-
-static void
-putline_YUY2 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_YUY2 (FRAME_GET_LINE (dest, 0, j), src, convert->width / 2);
-}
-
-static void
-getline_UYVY (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_UYVY (dest, FRAME_GET_LINE (src, 0, j), convert->width / 2);
-}
-
-static void
-putline_UYVY (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_UYVY (FRAME_GET_LINE (dest, 0, j), src, convert->width / 2);
-}
-
-static void
-getline_YVYU (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_YVYU (dest, FRAME_GET_LINE (src, 0, j), convert->width / 2);
-}
-
-static void
-putline_YVYU (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_YVYU (FRAME_GET_LINE (dest, 0, j), src, convert->width / 2);
-}
-
-static void
-getline_v308 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint8 *srcline = FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    dest[i * 4 + 0] = 0xff;
-    dest[i * 4 + 1] = srcline[i * 3 + 0];
-    dest[i * 4 + 2] = srcline[i * 3 + 1];
-    dest[i * 4 + 3] = srcline[i * 3 + 2];
-  }
-}
-
-static void
-putline_v308 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint8 *destline = FRAME_GET_LINE (dest, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    destline[i * 3 + 0] = src[i * 4 + 1];
-    destline[i * 3 + 1] = src[i * 4 + 2];
-    destline[i * 3 + 2] = src[i * 4 + 3];
-  }
-}
-
-static void
-getline_AYUV (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  memcpy (dest, FRAME_GET_LINE (src, 0, j), convert->width * 4);
-}
-
-static void
-putline_AYUV (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  memcpy (FRAME_GET_LINE (dest, 0, j), src, convert->width * 4);
-}
-
-#if 0
-static void
-getline_v410 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint8 *srcline = FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    dest[i * 4 + 0] = GST_READ_UINT16_LE (srcline + i * 8 + 0);
-    dest[i * 4 + 1] = GST_READ_UINT16_LE (srcline + i * 8 + 2);
-    dest[i * 4 + 2] = GST_READ_UINT16_LE (srcline + i * 8 + 4);
-    dest[i * 4 + 3] = GST_READ_UINT16_LE (srcline + i * 8 + 6);
-  }
-}
-#endif
-
-static void
-getline_v210 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint8 *srcline = FRAME_GET_LINE (src, 0, j);
-
-  for (i = 0; i < convert->width; i += 6) {
-    guint32 a0, a1, a2, a3;
-    guint16 y0, y1, y2, y3, y4, y5;
-    guint16 u0, u2, u4;
-    guint16 v0, v2, v4;
-
-    a0 = GST_READ_UINT32_LE (srcline + (i / 6) * 16 + 0);
-    a1 = GST_READ_UINT32_LE (srcline + (i / 6) * 16 + 4);
-    a2 = GST_READ_UINT32_LE (srcline + (i / 6) * 16 + 8);
-    a3 = GST_READ_UINT32_LE (srcline + (i / 6) * 16 + 12);
-
-    u0 = ((a0 >> 0) & 0x3ff) >> 2;
-    y0 = ((a0 >> 10) & 0x3ff) >> 2;
-    v0 = ((a0 >> 20) & 0x3ff) >> 2;
-    y1 = ((a1 >> 0) & 0x3ff) >> 2;
-
-    u2 = ((a1 >> 10) & 0x3ff) >> 2;
-    y2 = ((a1 >> 20) & 0x3ff) >> 2;
-    v2 = ((a2 >> 0) & 0x3ff) >> 2;
-    y3 = ((a2 >> 10) & 0x3ff) >> 2;
-
-    u4 = ((a2 >> 20) & 0x3ff) >> 2;
-    y4 = ((a3 >> 0) & 0x3ff) >> 2;
-    v4 = ((a3 >> 10) & 0x3ff) >> 2;
-    y5 = ((a3 >> 20) & 0x3ff) >> 2;
-
-    dest[4 * (i + 0) + 0] = 0xff;
-    dest[4 * (i + 0) + 1] = y0;
-    dest[4 * (i + 0) + 2] = u0;
-    dest[4 * (i + 0) + 3] = v0;
-
-    dest[4 * (i + 1) + 0] = 0xff;
-    dest[4 * (i + 1) + 1] = y1;
-    dest[4 * (i + 1) + 2] = u0;
-    dest[4 * (i + 1) + 3] = v0;
-
-    dest[4 * (i + 2) + 0] = 0xff;
-    dest[4 * (i + 2) + 1] = y2;
-    dest[4 * (i + 2) + 2] = u2;
-    dest[4 * (i + 2) + 3] = v2;
-
-    dest[4 * (i + 3) + 0] = 0xff;
-    dest[4 * (i + 3) + 1] = y3;
-    dest[4 * (i + 3) + 2] = u2;
-    dest[4 * (i + 3) + 3] = v2;
-
-    dest[4 * (i + 4) + 0] = 0xff;
-    dest[4 * (i + 4) + 1] = y4;
-    dest[4 * (i + 4) + 2] = u4;
-    dest[4 * (i + 4) + 3] = v4;
-
-    dest[4 * (i + 5) + 0] = 0xff;
-    dest[4 * (i + 5) + 1] = y5;
-    dest[4 * (i + 5) + 2] = u4;
-    dest[4 * (i + 5) + 3] = v4;
-
-  }
-
-}
-
-static void
-putline_v210 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint8 *destline = FRAME_GET_LINE (dest, 0, j);
-
-  for (i = 0; i < convert->width + 5; i += 6) {
-    guint32 a0, a1, a2, a3;
-    guint16 y0, y1, y2, y3, y4, y5;
-    guint16 u0, u1, u2;
-    guint16 v0, v1, v2;
-
-    y0 = src[4 * (i + 0) + 1] << 2;
-    y1 = src[4 * (i + 1) + 1] << 2;
-    y2 = src[4 * (i + 2) + 1] << 2;
-    y3 = src[4 * (i + 3) + 1] << 2;
-    y4 = src[4 * (i + 4) + 1] << 2;
-    y5 = src[4 * (i + 5) + 1] << 2;
-
-    u0 = (src[4 * (i + 0) + 2] + src[4 * (i + 1) + 2]) << 1;
-    u1 = (src[4 * (i + 2) + 2] + src[4 * (i + 3) + 2]) << 1;
-    u2 = (src[4 * (i + 4) + 2] + src[4 * (i + 5) + 2]) << 1;
-
-    v0 = (src[4 * (i + 0) + 3] + src[4 * (i + 1) + 3]) << 1;
-    v1 = (src[4 * (i + 2) + 3] + src[4 * (i + 3) + 3]) << 1;
-    v2 = (src[4 * (i + 4) + 3] + src[4 * (i + 5) + 3]) << 1;
-
-    a0 = u0 | (y0 << 10) | (v0 << 20);
-    a1 = y1 | (u1 << 10) | (y2 << 20);
-    a2 = v1 | (y3 << 10) | (u2 << 20);
-    a3 = y4 | (v2 << 10) | (y5 << 20);
-
-    GST_WRITE_UINT32_LE (destline + (i / 6) * 16 + 0, a0);
-    GST_WRITE_UINT32_LE (destline + (i / 6) * 16 + 4, a1);
-    GST_WRITE_UINT32_LE (destline + (i / 6) * 16 + 8, a2);
-    GST_WRITE_UINT32_LE (destline + (i / 6) * 16 + 12, a3);
-  }
-}
-
-static void
-getline16_v210 (ColorspaceConvert * convert, guint16 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint8 *srcline = FRAME_GET_LINE (src, 0, j);
-
-  for (i = 0; i < convert->width; i += 6) {
-    guint32 a0, a1, a2, a3;
-    guint16 y0, y1, y2, y3, y4, y5;
-    guint16 u0, u2, u4;
-    guint16 v0, v2, v4;
-
-    a0 = GST_READ_UINT32_LE (srcline + (i / 6) * 16 + 0);
-    a1 = GST_READ_UINT32_LE (srcline + (i / 6) * 16 + 4);
-    a2 = GST_READ_UINT32_LE (srcline + (i / 6) * 16 + 8);
-    a3 = GST_READ_UINT32_LE (srcline + (i / 6) * 16 + 12);
-
-    u0 = ((a0 >> 0) & 0x3ff) << 6;
-    y0 = ((a0 >> 10) & 0x3ff) << 6;
-    v0 = ((a0 >> 20) & 0x3ff) << 6;
-    y1 = ((a1 >> 0) & 0x3ff) << 6;
-
-    u2 = ((a1 >> 10) & 0x3ff) << 6;
-    y2 = ((a1 >> 20) & 0x3ff) << 6;
-    v2 = ((a2 >> 0) & 0x3ff) << 6;
-    y3 = ((a2 >> 10) & 0x3ff) << 6;
-
-    u4 = ((a2 >> 20) & 0x3ff) << 6;
-    y4 = ((a3 >> 0) & 0x3ff) << 6;
-    v4 = ((a3 >> 10) & 0x3ff) << 6;
-    y5 = ((a3 >> 20) & 0x3ff) << 6;
-
-    dest[4 * (i + 0) + 0] = 0xffff;
-    dest[4 * (i + 0) + 1] = y0;
-    dest[4 * (i + 0) + 2] = u0;
-    dest[4 * (i + 0) + 3] = v0;
-
-    dest[4 * (i + 1) + 0] = 0xffff;
-    dest[4 * (i + 1) + 1] = y1;
-    dest[4 * (i + 1) + 2] = u0;
-    dest[4 * (i + 1) + 3] = v0;
-
-    dest[4 * (i + 2) + 0] = 0xffff;
-    dest[4 * (i + 2) + 1] = y2;
-    dest[4 * (i + 2) + 2] = u2;
-    dest[4 * (i + 2) + 3] = v2;
-
-    dest[4 * (i + 3) + 0] = 0xffff;
-    dest[4 * (i + 3) + 1] = y3;
-    dest[4 * (i + 3) + 2] = u2;
-    dest[4 * (i + 3) + 3] = v2;
-
-    dest[4 * (i + 4) + 0] = 0xffff;
-    dest[4 * (i + 4) + 1] = y4;
-    dest[4 * (i + 4) + 2] = u4;
-    dest[4 * (i + 4) + 3] = v4;
-
-    dest[4 * (i + 5) + 0] = 0xffff;
-    dest[4 * (i + 5) + 1] = y5;
-    dest[4 * (i + 5) + 2] = u4;
-    dest[4 * (i + 5) + 3] = v4;
-
-  }
-}
-
-static void
-putline16_v210 (ColorspaceConvert * convert, guint8 * dest, const guint16 * src,
-    int j)
-{
-  int i;
-  guint8 *destline = FRAME_GET_LINE (dest, 0, j);
-
-  for (i = 0; i < convert->width + 5; i += 6) {
-    guint32 a0, a1, a2, a3;
-    guint16 y0, y1, y2, y3, y4, y5;
-    guint16 u0, u1, u2;
-    guint16 v0, v1, v2;
-
-    y0 = src[4 * (i + 0) + 1] >> 6;
-    y1 = src[4 * (i + 1) + 1] >> 6;
-    y2 = src[4 * (i + 2) + 1] >> 6;
-    y3 = src[4 * (i + 3) + 1] >> 6;
-    y4 = src[4 * (i + 4) + 1] >> 6;
-    y5 = src[4 * (i + 5) + 1] >> 6;
-
-    u0 = (src[4 * (i + 0) + 2] + src[4 * (i + 1) + 2] + 1) >> 7;
-    u1 = (src[4 * (i + 2) + 2] + src[4 * (i + 3) + 2] + 1) >> 7;
-    u2 = (src[4 * (i + 4) + 2] + src[4 * (i + 5) + 2] + 1) >> 7;
-
-    v0 = (src[4 * (i + 0) + 3] + src[4 * (i + 1) + 3] + 1) >> 7;
-    v1 = (src[4 * (i + 2) + 3] + src[4 * (i + 3) + 3] + 1) >> 7;
-    v2 = (src[4 * (i + 4) + 3] + src[4 * (i + 5) + 3] + 1) >> 7;
-
-    a0 = u0 | (y0 << 10) | (v0 << 20);
-    a1 = y1 | (u1 << 10) | (y2 << 20);
-    a2 = v1 | (y3 << 10) | (u2 << 20);
-    a3 = y4 | (v2 << 10) | (y5 << 20);
-
-    GST_WRITE_UINT32_LE (destline + (i / 6) * 16 + 0, a0);
-    GST_WRITE_UINT32_LE (destline + (i / 6) * 16 + 4, a1);
-    GST_WRITE_UINT32_LE (destline + (i / 6) * 16 + 8, a2);
-    GST_WRITE_UINT32_LE (destline + (i / 6) * 16 + 12, a3);
-  }
-}
-
-static void
-getline_v216 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint8 *srcline = FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    dest[i * 4 + 0] = 0xff;
-    dest[i * 4 + 1] = GST_READ_UINT16_LE (srcline + i * 4 + 2) >> 8;
-    dest[i * 4 + 2] = GST_READ_UINT16_LE (srcline + (i >> 1) * 8 + 0) >> 8;
-    dest[i * 4 + 3] = GST_READ_UINT16_LE (srcline + (i >> 1) * 8 + 4) >> 8;
-  }
-}
-
-static void
-putline_v216 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint8 *destline = FRAME_GET_LINE (dest, 0, j);
-  for (i = 0; i < convert->width / 2; i++) {
-    GST_WRITE_UINT16_LE (destline + i * 8 + 0, src[(i * 2 + 0) * 4 + 2] << 8);
-    GST_WRITE_UINT16_LE (destline + i * 8 + 2, src[(i * 2 + 0) * 4 + 1] << 8);
-    GST_WRITE_UINT16_LE (destline + i * 8 + 4, src[(i * 2 + 1) * 4 + 3] << 8);
-    GST_WRITE_UINT16_LE (destline + i * 8 + 8, src[(i * 2 + 0) * 4 + 1] << 8);
-  }
-}
-
-static void
-getline16_v216 (ColorspaceConvert * convert, guint16 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint8 *srcline = FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    dest[i * 4 + 0] = 0xffff;
-    dest[i * 4 + 1] = GST_READ_UINT16_LE (srcline + i * 4 + 2);
-    dest[i * 4 + 2] = GST_READ_UINT16_LE (srcline + (i >> 1) * 8 + 0);
-    dest[i * 4 + 3] = GST_READ_UINT16_LE (srcline + (i >> 1) * 8 + 4);
-  }
-}
-
-static void
-putline16_v216 (ColorspaceConvert * convert, guint8 * dest, const guint16 * src,
-    int j)
-{
-  int i;
-  guint8 *destline = FRAME_GET_LINE (dest, 0, j);
-  for (i = 0; i < convert->width / 2; i++) {
-    GST_WRITE_UINT16_LE (destline + i * 8 + 0, src[(i * 2 + 0) * 4 + 2]);
-    GST_WRITE_UINT16_LE (destline + i * 8 + 2, src[(i * 2 + 0) * 4 + 1]);
-    GST_WRITE_UINT16_LE (destline + i * 8 + 4, src[(i * 2 + 1) * 4 + 3]);
-    GST_WRITE_UINT16_LE (destline + i * 8 + 8, src[(i * 2 + 0) * 4 + 1]);
-  }
-}
-
-static void
-getline_Y41B (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_YUV9 (dest,
-      FRAME_GET_LINE (src, 0, j),
-      FRAME_GET_LINE (src, 1, j), FRAME_GET_LINE (src, 2, j),
-      convert->width / 2);
-}
-
-static void
-putline_Y41B (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint8 *destlineY = FRAME_GET_LINE (dest, 0, j);
-  guint8 *destlineU = FRAME_GET_LINE (dest, 1, j);
-  guint8 *destlineV = FRAME_GET_LINE (dest, 2, j);
-
-  for (i = 0; i < convert->width - 3; i += 4) {
-    destlineY[i] = src[i * 4 + 1];
-    destlineY[i + 1] = src[i * 4 + 5];
-    destlineY[i + 2] = src[i * 4 + 9];
-    destlineY[i + 3] = src[i * 4 + 13];
-
-    destlineU[i >> 2] =
-        (src[i * 4 + 2] + src[i * 4 + 6] + src[i * 4 + 10] + src[i * 4 + 14] +
-        2) >> 2;
-    destlineV[i >> 2] =
-        (src[i * 4 + 3] + src[i * 4 + 7] + src[i * 4 + 11] + src[i * 4 + 15] +
-        2) >> 2;
-  }
-
-  if (i == convert->width - 3) {
-    destlineY[i] = src[i * 4 + 1];
-    destlineY[i + 1] = src[i * 4 + 5];
-    destlineY[i + 2] = src[i * 4 + 9];
-
-    destlineU[i >> 2] =
-        (src[i * 4 + 2] + src[i * 4 + 6] + src[i * 4 + 10] + 1) / 3;
-    destlineV[i >> 2] =
-        (src[i * 4 + 3] + src[i * 4 + 7] + src[i * 4 + 11] + 1) / 3;
-  } else if (i == convert->width - 2) {
-    destlineY[i] = src[i * 4 + 1];
-    destlineY[i + 1] = src[i * 4 + 5];
-
-    destlineU[i >> 2] = (src[i * 4 + 2] + src[i * 4 + 6] + 1) >> 1;
-    destlineV[i >> 2] = (src[i * 4 + 3] + src[i * 4 + 7] + 1) >> 1;
-  } else if (i == convert->width - 1) {
-    destlineY[i + 1] = src[i * 4 + 5];
-
-    destlineU[i >> 2] = src[i * 4 + 2];
-    destlineV[i >> 2] = src[i * 4 + 3];
-  }
-}
-
-static void
-getline_Y42B (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_Y42B (dest,
-      FRAME_GET_LINE (src, 0, j),
-      FRAME_GET_LINE (src, 1, j),
-      FRAME_GET_LINE (src, 2, j), convert->width / 2);
-}
-
-static void
-putline_Y42B (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_Y42B (FRAME_GET_LINE (dest, 0, j),
-      FRAME_GET_LINE (dest, 1, j),
-      FRAME_GET_LINE (dest, 2, j), src, convert->width / 2);
-}
-
-static void
-getline_Y444 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_Y444 (dest,
-      FRAME_GET_LINE (src, 0, j),
-      FRAME_GET_LINE (src, 1, j), FRAME_GET_LINE (src, 2, j), convert->width);
-}
-
-static void
-putline_Y444 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_Y444 (FRAME_GET_LINE (dest, 0, j),
-      FRAME_GET_LINE (dest, 1, j),
-      FRAME_GET_LINE (dest, 2, j), src, convert->width);
-}
-
-static void
-getline_Y800 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_Y800 (dest, FRAME_GET_LINE (src, 0, j), convert->width);
-}
-
-static void
-putline_Y800 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_Y800 (FRAME_GET_LINE (dest, 0, j), src, convert->width);
-}
-
-static void
-getline_Y16 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_Y16 (dest, FRAME_GET_LINE (src, 0, j), convert->width);
-}
-
-static void
-putline_Y16 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_Y16 (FRAME_GET_LINE (dest, 0, j), src, convert->width);
-}
-
-static void
-getline_RGB16 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint16 *srcline = (const guint16 *) FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    dest[i * 4 + 0] = 0xff;
-    dest[i * 4 + 1] = ((srcline[i] >> 11) & 0x1f) << 3;
-    dest[i * 4 + 2] = ((srcline[i] >> 5) & 0x3f) << 2;
-    dest[i * 4 + 3] = ((srcline[i]) & 0x1f) << 3;
-  }
-}
-
-static void
-putline_RGB16 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint16 *destline = (guint16 *) FRAME_GET_LINE (dest, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    destline[i] =
-        ((src[i * 4 + 1] >> 3) << 11) | ((src[i * 4 +
-                2] >> 2) << 5) | (src[i * 4 + 3] >> 3);
-  }
-}
-
-static void
-getline_BGR16 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint16 *srcline = (const guint16 *) FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    dest[i * 4 + 0] = 0xff;
-    dest[i * 4 + 3] = ((srcline[i] >> 11) & 0x1f) << 3;
-    dest[i * 4 + 2] = ((srcline[i] >> 5) & 0x3f) << 2;
-    dest[i * 4 + 1] = ((srcline[i]) & 0x1f) << 3;
-  }
-}
-
-static void
-putline_BGR16 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint16 *destline = (guint16 *) FRAME_GET_LINE (dest, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    destline[i] =
-        ((src[i * 4 + 3] >> 3) << 11) | ((src[i * 4 +
-                2] >> 2) << 5) | (src[i * 4 + 1] >> 3);
-  }
-}
-
-static void
-getline_RGB15 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint16 *srcline = (const guint16 *) FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    dest[i * 4 + 0] = 0xff;
-    dest[i * 4 + 1] = ((srcline[i] >> 10) & 0x1f) << 3;
-    dest[i * 4 + 2] = ((srcline[i] >> 5) & 0x1f) << 3;
-    dest[i * 4 + 3] = ((srcline[i]) & 0x1f) << 3;
-  }
-}
-
-static void
-putline_RGB15 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint16 *destline = (guint16 *) FRAME_GET_LINE (dest, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    destline[i] =
-        ((src[i * 4 + 1] >> 3) << 10) | ((src[i * 4 +
-                2] >> 3) << 5) | (src[i * 4 + 3] >> 3);
-  }
-}
-
-static void
-getline_BGR15 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint16 *srcline = (const guint16 *) FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    dest[i * 4 + 0] = 0xff;
-    dest[i * 4 + 3] = ((srcline[i] >> 10) & 0x1f) << 3;
-    dest[i * 4 + 2] = ((srcline[i] >> 5) & 0x1f) << 3;
-    dest[i * 4 + 1] = ((srcline[i]) & 0x1f) << 3;
-  }
-}
-
-static void
-putline_BGR15 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint16 *destline = (guint16 *) FRAME_GET_LINE (dest, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    destline[i] =
-        ((src[i * 4 + 3] >> 3) << 10) | ((src[i * 4 +
-                2] >> 3) << 5) | (src[i * 4 + 1] >> 3);
-  }
-}
-
-static void
-getline_BGRA (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_BGRA (dest, FRAME_GET_LINE (src, 0, j), convert->width);
-}
-
-static void
-putline_BGRA (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_BGRA (FRAME_GET_LINE (dest, 0, j), src, convert->width);
-}
-
-static void
-getline_ABGR (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_ABGR (dest, FRAME_GET_LINE (src, 0, j), convert->width);
-}
-
-static void
-putline_ABGR (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_ABGR (FRAME_GET_LINE (dest, 0, j), src, convert->width);
-}
-
-static void
-getline_RGBA (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_RGBA (dest, FRAME_GET_LINE (src, 0, j), convert->width);
-}
-
-static void
-putline_RGBA (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_RGBA (FRAME_GET_LINE (dest, 0, j), src, convert->width);
-}
-
-static void
-getline_RGB (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint8 *srcline = FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    dest[i * 4 + 0] = 0xff;
-    dest[i * 4 + 1] = srcline[i * 3 + 0];
-    dest[i * 4 + 2] = srcline[i * 3 + 1];
-    dest[i * 4 + 3] = srcline[i * 3 + 2];
-  }
-}
-
-static void
-putline_RGB (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint8 *destline = FRAME_GET_LINE (dest, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    destline[i * 3 + 0] = src[i * 4 + 1];
-    destline[i * 3 + 1] = src[i * 4 + 2];
-    destline[i * 3 + 2] = src[i * 4 + 3];
-  }
-}
-
-static void
-getline_BGR (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint8 *srcline = FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    dest[i * 4 + 0] = 0xff;
-    dest[i * 4 + 1] = srcline[i * 3 + 2];
-    dest[i * 4 + 2] = srcline[i * 3 + 1];
-    dest[i * 4 + 3] = srcline[i * 3 + 0];
-  }
-}
-
-static void
-putline_BGR (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint8 *destline = FRAME_GET_LINE (dest, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    destline[i * 3 + 0] = src[i * 4 + 3];
-    destline[i * 3 + 1] = src[i * 4 + 2];
-    destline[i * 3 + 2] = src[i * 4 + 1];
-  }
-}
-
-static void
-getline_NV12 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_NV12 (dest,
-      FRAME_GET_LINE (src, 0, j),
-      FRAME_GET_LINE (src, 1, j >> 1), convert->width / 2);
-}
-
-static void
-putline_NV12 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_NV12 (FRAME_GET_LINE (dest, 0, j),
-      FRAME_GET_LINE (dest, 1, j >> 1), src, convert->width / 2);
-}
-
-static void
-getline_NV21 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_NV21 (dest,
-      FRAME_GET_LINE (src, 0, j),
-      FRAME_GET_LINE (src, 2, j >> 1), convert->width / 2);
-}
-
-static void
-putline_NV21 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_NV21 (FRAME_GET_LINE (dest, 0, j),
-      FRAME_GET_LINE (dest, 2, j >> 1), src, convert->width / 2);
-}
-
-static void
-getline_UYVP (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-
-  for (i = 0; i < convert->width; i += 2) {
-    guint16 y0, y1;
-    guint16 u0;
-    guint16 v0;
-
-    u0 = (src[(i / 2) * 5 + 0] << 2) | (src[(i / 2) * 5 + 1] >> 6);
-    y0 = ((src[(i / 2) * 5 + 1] & 0x3f) << 4) | (src[(i / 2) * 5 + 2] >> 4);
-    v0 = ((src[(i / 2) * 5 + 2] & 0x0f) << 6) | (src[(i / 2) * 5 + 3] >> 2);
-    y1 = ((src[(i / 2) * 5 + 3] & 0x03) << 8) | src[(i / 2) * 5 + 4];
-
-    dest[i * 4 + 0] = 0xff;
-    dest[i * 4 + 1] = y0 >> 2;
-    dest[i * 4 + 2] = u0 >> 2;
-    dest[i * 4 + 3] = v0 >> 2;
-    dest[i * 4 + 4] = 0xff;
-    dest[i * 4 + 5] = y1 >> 2;
-    dest[i * 4 + 6] = u0 >> 2;
-    dest[i * 4 + 7] = v0 >> 2;
-  }
-}
-
-static void
-putline_UYVP (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-
-  for (i = 0; i < convert->width; i += 2) {
-    guint16 y0, y1;
-    guint16 u0;
-    guint16 v0;
-
-    y0 = src[4 * (i + 0) + 1];
-    y1 = src[4 * (i + 1) + 1];
-    u0 = (src[4 * (i + 0) + 2] + src[4 * (i + 1) + 2] + 1) >> 1;
-    v0 = (src[4 * (i + 0) + 3] + src[4 * (i + 1) + 3] + 1) >> 1;
-
-    dest[(i / 2) * 5 + 0] = u0;
-    dest[(i / 2) * 5 + 1] = y0 >> 2;
-    dest[(i / 2) * 5 + 2] = (y0 << 6) | (v0 >> 4);
-    dest[(i / 2) * 5 + 3] = (v0 << 4) | (y1 >> 2);
-    dest[(i / 2) * 5 + 4] = (y1 << 2);
-  }
-}
-
-static void
-getline_A420 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_A420 (dest,
-      FRAME_GET_LINE (src, 0, j),
-      FRAME_GET_LINE (src, 1, j >> 1),
-      FRAME_GET_LINE (src, 2, j >> 1),
-      FRAME_GET_LINE (src, 3, j), convert->width);
-}
-
-static void
-putline_A420 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_putline_A420 (FRAME_GET_LINE (dest, 0, j),
-      FRAME_GET_LINE (dest, 1, j >> 1),
-      FRAME_GET_LINE (dest, 2, j >> 1),
-      FRAME_GET_LINE (dest, 3, j), src, convert->width / 2);
-}
-
-static void
-getline_RGB8P (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint8 *srcline = FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    guint32 v = convert->palette[srcline[i]];
-    dest[i * 4 + 0] = (v >> 24) & 0xff;
-    dest[i * 4 + 1] = (v >> 16) & 0xff;
-    dest[i * 4 + 2] = (v >> 8) & 0xff;
-    dest[i * 4 + 3] = (v) & 0xff;
-  }
-}
-
-static void
-putline_RGB8P (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint8 *destline = FRAME_GET_LINE (dest, 0, j);
-  /* Use our poor man's palette, taken from ffmpegcolorspace too */
-  for (i = 0; i < convert->width; i++) {
-    /* crude approximation for alpha ! */
-    if (src[i * 4 + 0] < 0x80)
-      destline[i] = 6 * 6 * 6;
-    else
-      destline[i] =
-          ((((src[i * 4 + 1]) / 47) % 6) * 6 * 6 + (((src[i * 4 +
-                          2]) / 47) % 6) * 6 + (((src[i * 4 + 3]) / 47) % 6));
-  }
-}
-
-
-static void
-getline_YUV9 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  cogorc_getline_YUV9 (dest,
-      FRAME_GET_LINE (src, 0, j),
-      FRAME_GET_LINE (src, 1, j >> 2),
-      FRAME_GET_LINE (src, 2, j >> 2), convert->width / 2);
-}
-
-static void
-putline_YUV9 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint8 *destY = FRAME_GET_LINE (dest, 0, j);
-  guint8 *destU = FRAME_GET_LINE (dest, 1, j >> 2);
-  guint8 *destV = FRAME_GET_LINE (dest, 2, j >> 2);
-
-  for (i = 0; i < convert->width - 3; i += 4) {
-    destY[i] = src[i * 4 + 1];
-    destY[i + 1] = src[i * 4 + 5];
-    destY[i + 2] = src[i * 4 + 9];
-    destY[i + 3] = src[i * 4 + 13];
-    if (j % 4 == 0) {
-      destU[i >> 2] =
-          (src[i * 4 + 2] + src[i * 4 + 6] + src[i * 4 + 10] + src[i * 4 +
-              14]) >> 2;
-      destV[i >> 2] =
-          (src[i * 4 + 3] + src[i * 4 + 7] + src[i * 4 + 11] + src[i * 4 +
-              15]) >> 2;
-    }
-  }
-
-  if (i == convert->width - 3) {
-    destY[i] = src[i * 4 + 1];
-    destY[i + 1] = src[i * 4 + 5];
-    destY[i + 2] = src[i * 4 + 9];
-    if (j % 4 == 0) {
-      destU[i >> 2] = (src[i * 4 + 2] + src[i * 4 + 6] + src[i * 4 + 10]) / 3;
-      destV[i >> 2] = (src[i * 4 + 3] + src[i * 4 + 7] + src[i * 4 + 11]) / 3;
-    }
-  } else if (i == convert->width - 2) {
-    destY[i] = src[i * 4 + 1];
-    destY[i + 1] = src[i * 4 + 5];
-    if (j % 4 == 0) {
-      destU[i >> 2] = (src[i * 4 + 2] + src[i * 4 + 6]) >> 1;
-      destV[i >> 2] = (src[i * 4 + 3] + src[i * 4 + 7]) >> 1;
-    }
-  } else if (i == convert->width - 1) {
-    destY[i] = src[i * 4 + 1];
-    destU[i >> 2] = src[i * 4 + 2];
-    destV[i >> 2] = src[i * 4 + 3];
-  }
-}
-
-static void
-getline_IYU1 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint8 *srcline = FRAME_GET_LINE (src, 0, j);
-
-  for (i = 0; i < convert->width - 3; i += 4) {
-    dest[i * 4 + 0] = 0xff;
-    dest[i * 4 + 4] = 0xff;
-    dest[i * 4 + 8] = 0xff;
-    dest[i * 4 + 12] = 0xff;
-    dest[i * 4 + 1] = srcline[(i >> 2) * 6 + 1];
-    dest[i * 4 + 5] = srcline[(i >> 2) * 6 + 2];
-    dest[i * 4 + 9] = srcline[(i >> 2) * 6 + 4];
-    dest[i * 4 + 13] = srcline[(i >> 2) * 6 + 5];
-    dest[i * 4 + 2] = dest[i * 4 + 6] = dest[i * 4 + 10] = dest[i * 4 + 14] =
-        srcline[(i >> 2) * 6 + 0];
-    dest[i * 4 + 3] = dest[i * 4 + 7] = dest[i * 4 + 11] = dest[i * 4 + 15] =
-        srcline[(i >> 2) * 6 + 3];
-  }
-
-  if (i == convert->width - 3) {
-    dest[i * 4 + 0] = 0xff;
-    dest[i * 4 + 4] = 0xff;
-    dest[i * 4 + 8] = 0xff;
-    dest[i * 4 + 1] = srcline[(i >> 2) * 6 + 1];
-    dest[i * 4 + 5] = srcline[(i >> 2) * 6 + 2];
-    dest[i * 4 + 9] = srcline[(i >> 2) * 6 + 4];
-    dest[i * 4 + 2] = dest[i * 4 + 6] = dest[i * 4 + 10] =
-        srcline[(i >> 2) * 6 + 0];
-    dest[i * 4 + 3] = dest[i * 4 + 7] = dest[i * 4 + 11] =
-        srcline[(i >> 2) * 6 + 3];
-  } else if (i == convert->width - 2) {
-    dest[i * 4 + 0] = 0xff;
-    dest[i * 4 + 4] = 0xff;
-    dest[i * 4 + 1] = srcline[(i >> 2) * 6 + 1];
-    dest[i * 4 + 5] = srcline[(i >> 2) * 6 + 2];
-    dest[i * 4 + 2] = dest[i * 4 + 6] = srcline[(i >> 2) * 6 + 0];
-    dest[i * 4 + 3] = dest[i * 4 + 7] = srcline[(i >> 2) * 6 + 3];
-  } else if (i == convert->width - 1) {
-    dest[i * 4 + 0] = 0xff;
-    dest[i * 4 + 1] = srcline[(i >> 2) * 6 + 1];
-    dest[i * 4 + 2] = srcline[(i >> 2) * 6 + 0];
-    dest[i * 4 + 3] = srcline[(i >> 2) * 6 + 3];
-  }
-}
-
-static void
-putline_IYU1 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint8 *destline = FRAME_GET_LINE (dest, 0, j);
-
-  for (i = 0; i < convert->width - 3; i += 4) {
-    destline[(i >> 2) * 6 + 1] = src[i * 4 + 1];
-    destline[(i >> 2) * 6 + 2] = src[i * 4 + 5];
-    destline[(i >> 2) * 6 + 4] = src[i * 4 + 9];
-    destline[(i >> 2) * 6 + 5] = src[i * 4 + 13];
-    destline[(i >> 2) * 6 + 0] =
-        (src[i * 4 + 2] + src[i * 4 + 6] + src[i * 4 + 10] + src[i * 4 +
-            14]) >> 2;
-    destline[(i >> 2) * 6 + 3] =
-        (src[i * 4 + 3] + src[i * 4 + 7] + src[i * 4 + 11] + src[i * 4 +
-            15]) >> 2;
-  }
-
-  if (i == convert->width - 3) {
-    destline[(i >> 2) * 6 + 1] = src[i * 4 + 1];
-    destline[(i >> 2) * 6 + 2] = src[i * 4 + 5];
-    destline[(i >> 2) * 6 + 4] = src[i * 4 + 9];
-    destline[(i >> 2) * 6 + 0] =
-        (src[i * 4 + 2] + src[i * 4 + 6] + src[i * 4 + 10]) / 3;
-    destline[(i >> 2) * 6 + 3] =
-        (src[i * 4 + 3] + src[i * 4 + 7] + src[i * 4 + 11]) / 3;
-  } else if (i == convert->width - 2) {
-    destline[(i >> 2) * 6 + 1] = src[i * 4 + 1];
-    destline[(i >> 2) * 6 + 2] = src[i * 4 + 5];
-    destline[(i >> 2) * 6 + 0] = (src[i * 4 + 2] + src[i * 4 + 6]) >> 1;
-    destline[(i >> 2) * 6 + 3] = (src[i * 4 + 3] + src[i * 4 + 7]) >> 1;
-  } else if (i == convert->width - 1) {
-    destline[(i >> 2) * 6 + 1] = src[i * 4 + 1];
-    destline[(i >> 2) * 6 + 0] = src[i * 4 + 2];
-    destline[(i >> 2) * 6 + 3] = src[i * 4 + 3];
-  }
-}
-
-static void
-getline_AY64 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint16 *srcline = (const guint16 *) FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width * 4; i++) {
-    dest[i] = srcline[i] >> 8;
-  }
-}
-
-static void
-putline_AY64 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint16 *destline = (guint16 *) FRAME_GET_LINE (dest, 0, j);
-  for (i = 0; i < convert->width * 4; i++) {
-    destline[i] = src[i] << 8;
-  }
-}
-
-static void
-getline16_AY64 (ColorspaceConvert * convert, guint16 * dest, const guint8 * src,
-    int j)
-{
-  memcpy (dest, FRAME_GET_LINE (src, 0, j), convert->width * 8);
-}
-
-static void
-putline16_AY64 (ColorspaceConvert * convert, guint8 * dest, const guint16 * src,
-    int j)
-{
-  memcpy (FRAME_GET_LINE (dest, 0, j), src, convert->width * 8);
-}
-
-static void
-getline_r210 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint8 *srcline = FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    guint8 x;
-    dest[i * 4 + 0] = 0xff;
-    x = GST_READ_UINT32_BE (srcline + i * 4);
-    dest[i * 4 + 1] = (x >> 22) & 0xff;
-    dest[i * 4 + 2] = (x >> 12) & 0xff;
-    dest[i * 4 + 3] = (x >> 2) & 0xff;
-  }
-}
-
-static void
-putline_r210 (ColorspaceConvert * convert, guint8 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  guint8 *destline = FRAME_GET_LINE (dest, 0, j);
-  for (i = 0; i < convert->width / 2; i++) {
-    guint32 x = 0;
-    x |= src[i * 4 + 1] << 22;
-    x |= (src[i * 4 + 1] & 0xc0) << 14;
-    x |= src[i * 4 + 2] << 12;
-    x |= (src[i * 4 + 2] & 0xc0) << 10;
-    x |= src[i * 4 + 3] << 2;
-    x |= (src[i * 4 + 3] & 0xc0) >> 6;
-    GST_WRITE_UINT32_BE (destline + i * 4, x);
-  }
-}
-
-static void
-getline16_r210 (ColorspaceConvert * convert, guint16 * dest, const guint8 * src,
-    int j)
-{
-  int i;
-  const guint8 *srcline = FRAME_GET_LINE (src, 0, j);
-  for (i = 0; i < convert->width; i++) {
-    guint32 x;
-    dest[i * 4 + 0] = 0xffff;
-    x = GST_READ_UINT32_BE (srcline + i * 4);
-    dest[i * 4 + 1] = ((x >> 14) & 0xffc0) | (x >> 24);
-    dest[i * 4 + 2] = ((x >> 4) & 0xffc0) | ((x >> 14) & 0x3f);
-    dest[i * 4 + 3] = ((x << 6) & 0xffc0) | ((x >> 4) & 0x3f);
-  }
-}
-
-static void
-putline16_r210 (ColorspaceConvert * convert, guint8 * dest, const guint16 * src,
-    int j)
-{
-  int i;
-  guint8 *destline = FRAME_GET_LINE (dest, 0, j);
-  for (i = 0; i < convert->width / 2; i++) {
-    guint32 x = 0;
-    x |= (src[i * 4 + 1] & 0xffc0) << 14;
-    x |= (src[i * 4 + 2] & 0xffc0) << 4;
-    x |= (src[i * 4 + 3] & 0xffc0) >> 6;
-    GST_WRITE_UINT32_BE (destline + i * 4, x);
-  }
-}
-
-static void
-getline16_convert (ColorspaceConvert * convert, guint16 * dest,
-    const guint8 * src, int j)
-{
-  int i;
-  convert->getline (convert, convert->tmpline, src, j);
-  for (i = 0; i < convert->width * 4; i++) {
-    dest[i] = convert->tmpline[i] << 8;
-  }
-}
-
-static void
-putline16_convert (ColorspaceConvert * convert, guint8 * dest,
-    const guint16 * src, int j)
-{
-  int i;
-  for (i = 0; i < convert->width * 4; i++) {
-    convert->tmpline[i] = src[i] >> 8;
-  }
-  convert->putline (convert, dest, convert->tmpline, j);
-}
-
-typedef struct
-{
-  GstVideoFormat format;
-  void (*getline) (ColorspaceConvert * convert, guint8 * dest,
-      const guint8 * src, int j);
-  void (*putline) (ColorspaceConvert * convert, guint8 * dest,
-      const guint8 * src, int j);
-  void (*getline16) (ColorspaceConvert * convert, guint16 * dest,
-      const guint8 * src, int j);
-  void (*putline16) (ColorspaceConvert * convert, guint8 * dest,
-      const guint16 * src, int j);
-} ColorspaceLine;
-static const ColorspaceLine lines[] = {
-  {GST_VIDEO_FORMAT_I420, getline_I420, putline_I420},
-  {GST_VIDEO_FORMAT_YV12, getline_YV12, putline_YV12},
-  {GST_VIDEO_FORMAT_YUY2, getline_YUY2, putline_YUY2},
-  {GST_VIDEO_FORMAT_UYVY, getline_UYVY, putline_UYVY},
-  {GST_VIDEO_FORMAT_AYUV, getline_AYUV, putline_AYUV},
-  {GST_VIDEO_FORMAT_RGBx, getline_RGBA, putline_RGBA},
-  {GST_VIDEO_FORMAT_BGRx, getline_BGRA, putline_BGRA},
-  {GST_VIDEO_FORMAT_xRGB, getline_AYUV, putline_AYUV},
-  {GST_VIDEO_FORMAT_xBGR, getline_ABGR, putline_ABGR},
-  {GST_VIDEO_FORMAT_RGBA, getline_RGBA, putline_RGBA},
-  {GST_VIDEO_FORMAT_BGRA, getline_BGRA, putline_BGRA},
-  {GST_VIDEO_FORMAT_ARGB, getline_AYUV, putline_AYUV},
-  {GST_VIDEO_FORMAT_ABGR, getline_ABGR, putline_ABGR},
-  {GST_VIDEO_FORMAT_RGB, getline_RGB, putline_RGB},
-  {GST_VIDEO_FORMAT_BGR, getline_BGR, putline_BGR},
-  {GST_VIDEO_FORMAT_Y41B, getline_Y41B, putline_Y41B},
-  {GST_VIDEO_FORMAT_Y42B, getline_Y42B, putline_Y42B},
-  {GST_VIDEO_FORMAT_YVYU, getline_YVYU, putline_YVYU},
-  {GST_VIDEO_FORMAT_Y444, getline_Y444, putline_Y444},
-  {GST_VIDEO_FORMAT_v210, getline_v210, putline_v210,
-      getline16_v210, putline16_v210},
-  {GST_VIDEO_FORMAT_v216, getline_v216, putline_v216,
-      getline16_v216, putline16_v216},
-  {GST_VIDEO_FORMAT_NV12, getline_NV12, putline_NV12},
-  {GST_VIDEO_FORMAT_NV21, getline_NV21, putline_NV21},
-  //{GST_VIDEO_FORMAT_GRAY8, getline_GRAY8, putline_GRAY8},
-  //{GST_VIDEO_FORMAT_GRAY16_BE, getline_GRAY16_BE, putline_GRAY16_BE},
-  //{GST_VIDEO_FORMAT_GRAY16_LE, getline_GRAY16_LE, putline_GRAY16_LE},
-  {GST_VIDEO_FORMAT_v308, getline_v308, putline_v308},
-  {GST_VIDEO_FORMAT_Y800, getline_Y800, putline_Y800},
-  {GST_VIDEO_FORMAT_Y16, getline_Y16, putline_Y16},
-  {GST_VIDEO_FORMAT_RGB16, getline_RGB16, putline_RGB16},
-  {GST_VIDEO_FORMAT_BGR16, getline_BGR16, putline_BGR16},
-  {GST_VIDEO_FORMAT_RGB15, getline_RGB15, putline_RGB15},
-  {GST_VIDEO_FORMAT_BGR15, getline_BGR15, putline_BGR15},
-  {GST_VIDEO_FORMAT_UYVP, getline_UYVP, putline_UYVP},
-  {GST_VIDEO_FORMAT_A420, getline_A420, putline_A420}
-  , {GST_VIDEO_FORMAT_RGB8_PALETTED, getline_RGB8P, putline_RGB8P},
-  {GST_VIDEO_FORMAT_YUV9, getline_YUV9, putline_YUV9},
-  {GST_VIDEO_FORMAT_YVU9, getline_YUV9, putline_YUV9},  /* alias */
-  {GST_VIDEO_FORMAT_IYU1, getline_IYU1, putline_IYU1},
-  {GST_VIDEO_FORMAT_ARGB64, getline_AY64, putline_AY64, getline16_AY64,
-      putline16_AY64},
-  {GST_VIDEO_FORMAT_AYUV64, getline_AY64, putline_AY64, getline16_AY64,
-      putline16_AY64},
-  {GST_VIDEO_FORMAT_r210, getline_r210, putline_r210, getline16_r210,
-      putline16_r210}
-};
-
-static void
-matrix_rgb_to_yuv_bt470_6 (ColorspaceConvert * convert)
-{
-  int i;
-  int r, g, b;
-  int y, u, v;
-  guint8 *tmpline = convert->tmpline;
-
-  for (i = 0; i < convert->width; i++) {
-    r = tmpline[i * 4 + 1];
-    g = tmpline[i * 4 + 2];
-    b = tmpline[i * 4 + 3];
-
-    y = (66 * r + 129 * g + 25 * b + 4096) >> 8;
-    u = (-38 * r - 74 * g + 112 * b + 32768) >> 8;
-    v = (112 * r - 94 * g - 18 * b + 32768) >> 8;
-
-    tmpline[i * 4 + 1] = CLAMP (y, 0, 255);
-    tmpline[i * 4 + 2] = CLAMP (u, 0, 255);
-    tmpline[i * 4 + 3] = CLAMP (v, 0, 255);
-  }
-}
-
-static void
-matrix_rgb_to_yuv_bt709 (ColorspaceConvert * convert)
-{
-  int i;
-  int r, g, b;
-  int y, u, v;
-  guint8 *tmpline = convert->tmpline;
-
-  for (i = 0; i < convert->width; i++) {
-    r = tmpline[i * 4 + 1];
-    g = tmpline[i * 4 + 2];
-    b = tmpline[i * 4 + 3];
-
-    y = (47 * r + 157 * g + 16 * b + 4096) >> 8;
-    u = (-26 * r - 87 * g + 112 * b + 32768) >> 8;
-    v = (112 * r - 102 * g - 10 * b + 32768) >> 8;
-
-    tmpline[i * 4 + 1] = CLAMP (y, 0, 255);
-    tmpline[i * 4 + 2] = CLAMP (u, 0, 255);
-    tmpline[i * 4 + 3] = CLAMP (v, 0, 255);
-  }
-}
-
-static void
-matrix_yuv_bt470_6_to_rgb (ColorspaceConvert * convert)
-{
-  int i;
-  int r, g, b;
-  int y, u, v;
-  guint8 *tmpline = convert->tmpline;
-
-  for (i = 0; i < convert->width; i++) {
-    y = tmpline[i * 4 + 1];
-    u = tmpline[i * 4 + 2];
-    v = tmpline[i * 4 + 3];
-
-    r = (298 * y + 409 * v - 57068) >> 8;
-    g = (298 * y - 100 * u - 208 * v + 34707) >> 8;
-    b = (298 * y + 516 * u - 70870) >> 8;
-
-    tmpline[i * 4 + 1] = CLAMP (r, 0, 255);
-    tmpline[i * 4 + 2] = CLAMP (g, 0, 255);
-    tmpline[i * 4 + 3] = CLAMP (b, 0, 255);
-  }
-}
-
-static void
-matrix_yuv_bt709_to_rgb (ColorspaceConvert * convert)
-{
-  int i;
-  int r, g, b;
-  int y, u, v;
-  guint8 *tmpline = convert->tmpline;
-
-  for (i = 0; i < convert->width; i++) {
-    y = tmpline[i * 4 + 1];
-    u = tmpline[i * 4 + 2];
-    v = tmpline[i * 4 + 3];
-
-    r = (298 * y + 459 * v - 63514) >> 8;
-    g = (298 * y - 55 * u - 136 * v + 19681) >> 8;
-    b = (298 * y + 541 * u - 73988) >> 8;
-
-    tmpline[i * 4 + 1] = CLAMP (r, 0, 255);
-    tmpline[i * 4 + 2] = CLAMP (g, 0, 255);
-    tmpline[i * 4 + 3] = CLAMP (b, 0, 255);
-  }
-}
-
-static void
-matrix_yuv_bt709_to_yuv_bt470_6 (ColorspaceConvert * convert)
-{
-  int i;
-  int r, g, b;
-  int y, u, v;
-  guint8 *tmpline = convert->tmpline;
-
-  for (i = 0; i < convert->width; i++) {
-    y = tmpline[i * 4 + 1];
-    u = tmpline[i * 4 + 2];
-    v = tmpline[i * 4 + 3];
-
-    r = (256 * y + 25 * u + 49 * v - 9536) >> 8;
-    g = (253 * u - 28 * v + 3958) >> 8;
-    b = (-19 * u + 252 * v + 2918) >> 8;
-
-    tmpline[i * 4 + 1] = CLAMP (r, 0, 255);
-    tmpline[i * 4 + 2] = CLAMP (g, 0, 255);
-    tmpline[i * 4 + 3] = CLAMP (b, 0, 255);
-  }
-}
-
-static void
-matrix_yuv_bt470_6_to_yuv_bt709 (ColorspaceConvert * convert)
-{
-  int i;
-  int r, g, b;
-  int y, u, v;
-  guint8 *tmpline = convert->tmpline;
-
-  for (i = 0; i < convert->width; i++) {
-    y = tmpline[i * 4 + 1];
-    u = tmpline[i * 4 + 2];
-    v = tmpline[i * 4 + 3];
-
-    r = (256 * y - 30 * u - 53 * v + 10600) >> 8;
-    g = (261 * u + 29 * v - 4367) >> 8;
-    b = (19 * u + 262 * v - 3289) >> 8;
-
-    tmpline[i * 4 + 1] = CLAMP (r, 0, 255);
-    tmpline[i * 4 + 2] = CLAMP (g, 0, 255);
-    tmpline[i * 4 + 3] = CLAMP (b, 0, 255);
-  }
-}
-
-static void
-matrix_identity (ColorspaceConvert * convert)
-{
-  /* do nothing */
-}
-
-static void
-matrix16_rgb_to_yuv_bt470_6 (ColorspaceConvert * convert)
-{
-  int i;
-  int r, g, b;
-  int y, u, v;
-  guint16 *tmpline = convert->tmpline16;
-
-  for (i = 0; i < convert->width; i++) {
-    r = tmpline[i * 4 + 1];
-    g = tmpline[i * 4 + 2];
-    b = tmpline[i * 4 + 3];
-
-    y = (66 * r + 129 * g + 25 * b + 4096 * 256) >> 8;
-    u = (-38 * r - 74 * g + 112 * b + 32768 * 256) >> 8;
-    v = (112 * r - 94 * g - 18 * b + 32768 * 256) >> 8;
-
-    tmpline[i * 4 + 1] = CLAMP (y, 0, 65535);
-    tmpline[i * 4 + 2] = CLAMP (u, 0, 65535);
-    tmpline[i * 4 + 3] = CLAMP (v, 0, 65535);
-  }
-}
-
-static void
-matrix16_rgb_to_yuv_bt709 (ColorspaceConvert * convert)
-{
-  int i;
-  int r, g, b;
-  int y, u, v;
-  guint16 *tmpline = convert->tmpline16;
-
-  for (i = 0; i < convert->width; i++) {
-    r = tmpline[i * 4 + 1];
-    g = tmpline[i * 4 + 2];
-    b = tmpline[i * 4 + 3];
-
-    y = (47 * r + 157 * g + 16 * b + 4096 * 256) >> 8;
-    u = (-26 * r - 87 * g + 112 * b + 32768 * 256) >> 8;
-    v = (112 * r - 102 * g - 10 * b + 32768 * 256) >> 8;
-
-    tmpline[i * 4 + 1] = CLAMP (y, 0, 65535);
-    tmpline[i * 4 + 2] = CLAMP (u, 0, 65535);
-    tmpline[i * 4 + 3] = CLAMP (v, 0, 65535);
-  }
-}
-
-static void
-matrix16_yuv_bt470_6_to_rgb (ColorspaceConvert * convert)
-{
-  int i;
-  int r, g, b;
-  int y, u, v;
-  guint16 *tmpline = convert->tmpline16;
-
-  for (i = 0; i < convert->width; i++) {
-    y = tmpline[i * 4 + 1];
-    u = tmpline[i * 4 + 2];
-    v = tmpline[i * 4 + 3];
-
-    r = (298 * y + 409 * v - 57068 * 256) >> 8;
-    g = (298 * y - 100 * u - 208 * v + 34707 * 256) >> 8;
-    b = (298 * y + 516 * u - 70870 * 256) >> 8;
-
-    tmpline[i * 4 + 1] = CLAMP (r, 0, 65535);
-    tmpline[i * 4 + 2] = CLAMP (g, 0, 65535);
-    tmpline[i * 4 + 3] = CLAMP (b, 0, 65535);
-  }
-}
-
-static void
-matrix16_yuv_bt709_to_rgb (ColorspaceConvert * convert)
-{
-  int i;
-  int r, g, b;
-  int y, u, v;
-  guint16 *tmpline = convert->tmpline16;
-
-  for (i = 0; i < convert->width; i++) {
-    y = tmpline[i * 4 + 1];
-    u = tmpline[i * 4 + 2];
-    v = tmpline[i * 4 + 3];
-
-    r = (298 * y + 459 * v - 63514 * 256) >> 8;
-    g = (298 * y - 55 * u - 136 * v + 19681 * 256) >> 8;
-    b = (298 * y + 541 * u - 73988 * 256) >> 8;
-
-    tmpline[i * 4 + 1] = CLAMP (r, 0, 65535);
-    tmpline[i * 4 + 2] = CLAMP (g, 0, 65535);
-    tmpline[i * 4 + 3] = CLAMP (b, 0, 65535);
-  }
-}
-
-static void
-matrix16_yuv_bt709_to_yuv_bt470_6 (ColorspaceConvert * convert)
-{
-  int i;
-  int r, g, b;
-  int y, u, v;
-  guint16 *tmpline = convert->tmpline16;
-
-  for (i = 0; i < convert->width; i++) {
-    y = tmpline[i * 4 + 1];
-    u = tmpline[i * 4 + 2];
-    v = tmpline[i * 4 + 3];
-
-    r = (256 * y + 25 * u + 49 * v - 9536 * 256) >> 8;
-    g = (253 * u - 28 * v + 3958 * 256) >> 8;
-    b = (-19 * u + 252 * v + 2918 * 256) >> 8;
-
-    tmpline[i * 4 + 1] = CLAMP (r, 0, 65535);
-    tmpline[i * 4 + 2] = CLAMP (g, 0, 65535);
-    tmpline[i * 4 + 3] = CLAMP (b, 0, 65535);
-  }
-}
-
-static void
-matrix16_yuv_bt470_6_to_yuv_bt709 (ColorspaceConvert * convert)
-{
-  int i;
-  int r, g, b;
-  int y, u, v;
-  guint16 *tmpline = convert->tmpline16;
-
-  for (i = 0; i < convert->width; i++) {
-    y = tmpline[i * 4 + 1];
-    u = tmpline[i * 4 + 2];
-    v = tmpline[i * 4 + 3];
-
-    r = (256 * y - 30 * u - 53 * v + 10600 * 256) >> 8;
-    g = (261 * u + 29 * v - 4367 * 256) >> 8;
-    b = (19 * u + 262 * v - 3289 * 256) >> 8;
-
-    tmpline[i * 4 + 1] = CLAMP (r, 0, 65535);
-    tmpline[i * 4 + 2] = CLAMP (g, 0, 65535);
-    tmpline[i * 4 + 3] = CLAMP (b, 0, 65535);
-  }
-}
-
-static void
-matrix16_identity (ColorspaceConvert * convert)
-{
-  /* do nothing */
-}
-
-
-
-static void
-colorspace_convert_lookup_getput (ColorspaceConvert * convert)
-{
-  int i;
-
-  convert->getline = NULL;
-  convert->getline16 = NULL;
-  for (i = 0; i < sizeof (lines) / sizeof (lines[0]); i++) {
-    if (lines[i].format == convert->from_format) {
-      convert->getline = lines[i].getline;
-      convert->getline16 = lines[i].getline16;
-      break;
-    }
-  }
-  convert->putline = NULL;
-  convert->putline16 = NULL;
-  for (i = 0; i < sizeof (lines) / sizeof (lines[0]); i++) {
-    if (lines[i].format == convert->to_format) {
-      convert->putline = lines[i].putline;
-      convert->putline16 = lines[i].putline16;
-      break;
-    }
-  }
-  GST_DEBUG ("get %p put %p", convert->getline, convert->putline);
-
-  if (convert->getline16 == NULL) {
-    convert->getline16 = getline16_convert;
-  }
-  if (convert->putline16 == NULL) {
-    convert->putline16 = putline16_convert;
-  }
-
-  if (convert->from_spec == convert->to_spec) {
-    convert->matrix = matrix_identity;
-    convert->matrix16 = matrix16_identity;
-  } else if (convert->from_spec == COLOR_SPEC_RGB
-      && convert->to_spec == COLOR_SPEC_YUV_BT470_6) {
-    convert->matrix = matrix_rgb_to_yuv_bt470_6;
-    convert->matrix16 = matrix16_rgb_to_yuv_bt470_6;
-  } else if (convert->from_spec == COLOR_SPEC_RGB
-      && convert->to_spec == COLOR_SPEC_YUV_BT709) {
-    convert->matrix = matrix_rgb_to_yuv_bt709;
-    convert->matrix16 = matrix16_rgb_to_yuv_bt709;
-  } else if (convert->from_spec == COLOR_SPEC_YUV_BT470_6
-      && convert->to_spec == COLOR_SPEC_RGB) {
-    convert->matrix = matrix_yuv_bt470_6_to_rgb;
-    convert->matrix16 = matrix16_yuv_bt470_6_to_rgb;
-  } else if (convert->from_spec == COLOR_SPEC_YUV_BT709
-      && convert->to_spec == COLOR_SPEC_RGB) {
-    convert->matrix = matrix_yuv_bt709_to_rgb;
-    convert->matrix16 = matrix16_yuv_bt709_to_rgb;
-  } else if (convert->from_spec == COLOR_SPEC_YUV_BT709
-      && convert->to_spec == COLOR_SPEC_YUV_BT470_6) {
-    convert->matrix = matrix_yuv_bt709_to_yuv_bt470_6;
-    convert->matrix16 = matrix16_yuv_bt709_to_yuv_bt470_6;
-  } else if (convert->from_spec == COLOR_SPEC_YUV_BT470_6
-      && convert->to_spec == COLOR_SPEC_YUV_BT709) {
-    convert->matrix = matrix_yuv_bt470_6_to_yuv_bt709;
-    convert->matrix16 = matrix16_yuv_bt470_6_to_yuv_bt709;
-  }
-}
-
-static void
-colorspace_convert_generic (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  int j;
-
-  if (convert->getline == NULL) {
-    GST_ERROR ("no getline");
-    return;
-  }
-
-  if (convert->putline == NULL) {
-    GST_ERROR ("no putline");
-    return;
-  }
-
-  if (convert->use_16bit) {
-    for (j = 0; j < convert->height; j++) {
-      convert->getline16 (convert, convert->tmpline16, src, j);
-      convert->matrix16 (convert);
-      convert->dither16 (convert, j);
-      convert->putline16 (convert, dest, convert->tmpline16, j);
-    }
-  } else {
-    for (j = 0; j < convert->height; j++) {
-      convert->getline (convert, convert->tmpline, src, j);
-      convert->matrix (convert);
-      convert->putline (convert, dest, convert->tmpline, j);
-    }
-  }
-}
-
-static void
-colorspace_dither_none (ColorspaceConvert * convert, int j)
-{
-}
-
-static void
-colorspace_dither_verterr (ColorspaceConvert * convert, int j)
-{
-  int i;
-  guint16 *tmpline = convert->tmpline16;
-  guint16 *errline = convert->errline;
-
-  for (i = 0; i < 4 * convert->width; i++) {
-    tmpline[i] += errline[i];
-    errline[i] = tmpline[i] & 0xff;
-  }
-}
-
-static void
-colorspace_dither_halftone (ColorspaceConvert * convert, int j)
-{
-  int i;
-  guint16 *tmpline = convert->tmpline16;
-  static guint16 halftone[8][8] = {
-    {0, 128, 32, 160, 8, 136, 40, 168},
-    {192, 64, 224, 96, 200, 72, 232, 104},
-    {48, 176, 16, 144, 56, 184, 24, 152},
-    {240, 112, 208, 80, 248, 120, 216, 88},
-    {12, 240, 44, 172, 4, 132, 36, 164},
-    {204, 76, 236, 108, 196, 68, 228, 100},
-    {60, 188, 28, 156, 52, 180, 20, 148},
-    {252, 142, 220, 92, 244, 116, 212, 84}
-  };
-
-  for (i = 0; i < convert->width * 4; i++) {
-    tmpline[i] += halftone[(i >> 2) & 7][j & 7];
-  }
-}
-
-/* Fast paths */
-
-static void
-convert_I420_YUY2 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  int i;
-
-  for (i = 0; i < GST_ROUND_DOWN_2 (convert->height); i += 2) {
-    cogorc_convert_I420_YUY2 (FRAME_GET_LINE (dest, 0, i),
-        FRAME_GET_LINE (dest, 0, i + 1),
-        FRAME_GET_LINE (src, 0, i),
-        FRAME_GET_LINE (src, 0, i + 1),
-        FRAME_GET_LINE (src, 1, i >> 1),
-        FRAME_GET_LINE (src, 2, i >> 1), (convert->width + 1) / 2);
-  }
-
-  /* now handle last line */
-  if (convert->height & 1) {
-    getline_I420 (convert, convert->tmpline, src, convert->height - 1);
-    putline_YUY2 (convert, dest, convert->tmpline, convert->height - 1);
-  }
-}
-
-static void
-convert_I420_UYVY (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  int i;
-
-  for (i = 0; i < GST_ROUND_DOWN_2 (convert->height); i += 2) {
-    cogorc_convert_I420_UYVY (FRAME_GET_LINE (dest, 0, i),
-        FRAME_GET_LINE (dest, 0, i + 1),
-        FRAME_GET_LINE (src, 0, i),
-        FRAME_GET_LINE (src, 0, i + 1),
-        FRAME_GET_LINE (src, 1, i >> 1),
-        FRAME_GET_LINE (src, 2, i >> 1), (convert->width + 1) / 2);
-  }
-
-  /* now handle last line */
-  if (convert->height & 1) {
-    getline_I420 (convert, convert->tmpline, src, convert->height - 1);
-    putline_UYVY (convert, dest, convert->tmpline, convert->height - 1);
-  }
-}
-
-static void
-convert_I420_AYUV (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  int i;
-
-  for (i = 0; i < GST_ROUND_DOWN_2 (convert->height); i += 2) {
-    cogorc_convert_I420_AYUV (FRAME_GET_LINE (dest, 0, i),
-        FRAME_GET_LINE (dest, 0, i + 1),
-        FRAME_GET_LINE (src, 0, i),
-        FRAME_GET_LINE (src, 0, i + 1),
-        FRAME_GET_LINE (src, 1, i >> 1),
-        FRAME_GET_LINE (src, 2, i >> 1), convert->width);
-  }
-
-  /* now handle last line */
-  if (convert->height & 1) {
-    getline_I420 (convert, convert->tmpline, src, convert->height - 1);
-    putline_AYUV (convert, dest, convert->tmpline, convert->height - 1);
-  }
-}
-
-static void
-convert_I420_Y42B (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_memcpy_2d (FRAME_GET_LINE (dest, 0, 0), convert->dest_stride[0],
-      FRAME_GET_LINE (src, 0, 0), convert->src_stride[0],
-      convert->width, convert->height);
-
-  cogorc_planar_chroma_420_422 (FRAME_GET_LINE (dest, 1, 0),
-      2 * convert->dest_stride[1], FRAME_GET_LINE (dest, 1, 1),
-      2 * convert->dest_stride[1], FRAME_GET_LINE (src, 1, 0),
-      convert->src_stride[1], (convert->width + 1) / 2, convert->height / 2);
-
-  cogorc_planar_chroma_420_422 (FRAME_GET_LINE (dest, 2, 0),
-      2 * convert->dest_stride[2], FRAME_GET_LINE (dest, 2, 1),
-      2 * convert->dest_stride[2], FRAME_GET_LINE (src, 2, 0),
-      convert->src_stride[2], (convert->width + 1) / 2, convert->height / 2);
-}
-
-static void
-convert_I420_Y444 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_memcpy_2d (FRAME_GET_LINE (dest, 0, 0), convert->dest_stride[0],
-      FRAME_GET_LINE (src, 0, 0), convert->src_stride[0],
-      convert->width, convert->height);
-
-  cogorc_planar_chroma_420_444 (FRAME_GET_LINE (dest, 1, 0),
-      2 * convert->dest_stride[1], FRAME_GET_LINE (dest, 1, 1),
-      2 * convert->dest_stride[1], FRAME_GET_LINE (src, 1, 0),
-      convert->src_stride[1], (convert->width + 1) / 2, convert->height / 2);
-
-  cogorc_planar_chroma_420_444 (FRAME_GET_LINE (dest, 2, 0),
-      2 * convert->dest_stride[2], FRAME_GET_LINE (dest, 2, 1),
-      2 * convert->dest_stride[2], FRAME_GET_LINE (src, 2, 0),
-      convert->src_stride[2], (convert->width + 1) / 2, convert->height / 2);
-
-  /* now handle last line */
-  if (convert->height & 1) {
-    getline_I420 (convert, convert->tmpline, src, convert->height - 1);
-    putline_Y444 (convert, dest, convert->tmpline, convert->height - 1);
-  }
-}
-
-static void
-convert_YUY2_I420 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  int i, h;
-
-  h = convert->height;
-  if (convert->width & 1)
-    h--;
-
-  for (i = 0; i < h; i += 2) {
-    cogorc_convert_YUY2_I420 (FRAME_GET_LINE (dest, 0, i),
-        FRAME_GET_LINE (dest, 0, i + 1),
-        FRAME_GET_LINE (dest, 1, i >> 1),
-        FRAME_GET_LINE (dest, 2, i >> 1),
-        FRAME_GET_LINE (src, 0, i),
-        FRAME_GET_LINE (src, 0, i + 1), (convert->width + 1) / 2);
-  }
-
-  /* now handle last line */
-  if (convert->width & 1) {
-    getline_YUY2 (convert, convert->tmpline, src, convert->height - 1);
-    putline_I420 (convert, dest, convert->tmpline, convert->height - 1);
-  }
-}
-
-static void
-convert_YUY2_AYUV (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_YUY2_AYUV (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], (convert->width + 1) / 2,
-      convert->width & 1 ? convert->height - 1 : convert->height);
-
-  /* now handle last line */
-  if (convert->width & 1) {
-    getline_YUY2 (convert, convert->tmpline, src, convert->height - 1);
-    putline_AYUV (convert, dest, convert->tmpline, convert->height - 1);
-  }
-}
-
-static void
-convert_YUY2_Y42B (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_YUY2_Y42B (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (dest, 1, 0),
-      convert->dest_stride[1], FRAME_GET_LINE (dest, 2, 0),
-      convert->dest_stride[2], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], (convert->width + 1) / 2, convert->height);
-}
-
-static void
-convert_YUY2_Y444 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_YUY2_Y444 (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (dest, 1, 0),
-      convert->dest_stride[1], FRAME_GET_LINE (dest, 2, 0),
-      convert->dest_stride[2], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], (convert->width + 1) / 2, convert->height);
-}
-
-
-static void
-convert_UYVY_I420 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  int i;
-
-  for (i = 0; i < GST_ROUND_DOWN_2 (convert->height); i += 2) {
-    cogorc_convert_UYVY_I420 (FRAME_GET_LINE (dest, 0, i),
-        FRAME_GET_LINE (dest, 0, i + 1),
-        FRAME_GET_LINE (dest, 1, i >> 1),
-        FRAME_GET_LINE (dest, 2, i >> 1),
-        FRAME_GET_LINE (src, 0, i),
-        FRAME_GET_LINE (src, 0, i + 1), (convert->width + 1) / 2);
-  }
-
-  /* now handle last line */
-  if (convert->height & 1) {
-    getline_UYVY (convert, convert->tmpline, src, convert->height - 1);
-    putline_I420 (convert, dest, convert->tmpline, convert->height - 1);
-  }
-}
-
-static void
-convert_UYVY_AYUV (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_UYVY_AYUV (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], (convert->width + 1) / 2,
-      convert->width & 1 ? convert->height - 1 : convert->height);
-
-  /* now handle last line */
-  if (convert->width & 1) {
-    getline_UYVY (convert, convert->tmpline, src, convert->height - 1);
-    putline_AYUV (convert, dest, convert->tmpline, convert->height - 1);
-  }
-}
-
-static void
-convert_UYVY_YUY2 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_UYVY_YUY2 (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], (convert->width + 1) / 2, convert->height);
-}
-
-static void
-convert_UYVY_Y42B (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_UYVY_Y42B (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (dest, 1, 0),
-      convert->dest_stride[1], FRAME_GET_LINE (dest, 2, 0),
-      convert->dest_stride[2], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], (convert->width + 1) / 2, convert->height);
-}
-
-static void
-convert_UYVY_Y444 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_UYVY_Y444 (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (dest, 1, 0),
-      convert->dest_stride[1], FRAME_GET_LINE (dest, 2, 0),
-      convert->dest_stride[2], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], (convert->width + 1) / 2, convert->height);
-}
-
-static void
-convert_AYUV_I420 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_AYUV_I420 (FRAME_GET_LINE (dest, 0, 0),
-      2 * convert->dest_stride[0], FRAME_GET_LINE (dest, 0, 1),
-      2 * convert->dest_stride[0], FRAME_GET_LINE (dest, 1, 0),
-      convert->dest_stride[1], FRAME_GET_LINE (dest, 2, 0),
-      convert->dest_stride[2], FRAME_GET_LINE (src, 0, 0),
-      2 * convert->src_stride[0], FRAME_GET_LINE (src, 0, 1),
-      2 * convert->src_stride[0], convert->width / 2, convert->height / 2);
-}
-
-static void
-convert_AYUV_YUY2 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_AYUV_YUY2 (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], convert->width / 2, convert->height);
-}
-
-static void
-convert_AYUV_UYVY (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_AYUV_UYVY (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], convert->width / 2, convert->height);
-}
-
-static void
-convert_AYUV_Y42B (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_AYUV_Y42B (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (dest, 1, 0),
-      convert->dest_stride[1], FRAME_GET_LINE (dest, 2, 0),
-      convert->dest_stride[2], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], (convert->width + 1) / 2,
-      convert->width & 1 ? convert->height - 1 : convert->height);
-
-  /* now handle last line */
-  if (convert->height & 1) {
-    getline_AYUV (convert, convert->tmpline, src, convert->height - 1);
-    putline_Y42B (convert, dest, convert->tmpline, convert->height - 1);
-  }
-
-}
-
-static void
-convert_AYUV_Y444 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_AYUV_Y444 (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (dest, 1, 0),
-      convert->dest_stride[1], FRAME_GET_LINE (dest, 2, 0),
-      convert->dest_stride[2], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], convert->width, convert->height);
-}
-
-static void
-convert_Y42B_I420 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_memcpy_2d (FRAME_GET_LINE (dest, 0, 0), convert->dest_stride[0],
-      FRAME_GET_LINE (src, 0, 0), convert->src_stride[0],
-      convert->width, convert->height);
-
-  cogorc_planar_chroma_422_420 (FRAME_GET_LINE (dest, 1, 0),
-      convert->dest_stride[1], FRAME_GET_LINE (src, 1, 0),
-      2 * convert->src_stride[1], FRAME_GET_LINE (src, 1, 1),
-      2 * convert->src_stride[1], (convert->width + 1) / 2,
-      convert->height / 2);
-
-  cogorc_planar_chroma_422_420 (FRAME_GET_LINE (dest, 2, 0),
-      convert->dest_stride[2], FRAME_GET_LINE (src, 2, 0),
-      2 * convert->src_stride[2], FRAME_GET_LINE (src, 2, 1),
-      2 * convert->src_stride[2], (convert->width + 1) / 2,
-      convert->height / 2);
-
-  /* now handle last line */
-  if (convert->height & 1) {
-    getline_Y42B (convert, convert->tmpline, src, convert->height - 1);
-    putline_I420 (convert, dest, convert->tmpline, convert->height - 1);
-  }
-
-}
-
-static void
-convert_Y42B_Y444 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_memcpy_2d (FRAME_GET_LINE (dest, 0, 0), convert->dest_stride[0],
-      FRAME_GET_LINE (src, 0, 0), convert->src_stride[0],
-      convert->width, convert->height);
-
-  cogorc_planar_chroma_422_444 (FRAME_GET_LINE (dest, 1, 0),
-      convert->dest_stride[1], FRAME_GET_LINE (src, 1, 0),
-      convert->src_stride[1], (convert->width + 1) / 2, convert->height);
-
-  cogorc_planar_chroma_422_444 (FRAME_GET_LINE (dest, 2, 0),
-      convert->dest_stride[2], FRAME_GET_LINE (src, 2, 0),
-      convert->src_stride[2], (convert->width + 1) / 2, convert->height);
-}
-
-static void
-convert_Y42B_YUY2 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_Y42B_YUY2 (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], FRAME_GET_LINE (src, 1, 0),
-      convert->src_stride[1], FRAME_GET_LINE (src, 2, 0),
-      convert->src_stride[2], (convert->width + 1) / 2, convert->height);
-}
-
-static void
-convert_Y42B_UYVY (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_Y42B_UYVY (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], FRAME_GET_LINE (src, 1, 0),
-      convert->src_stride[1], FRAME_GET_LINE (src, 2, 0),
-      convert->src_stride[2], (convert->width + 1) / 2, convert->height);
-}
-
-static void
-convert_Y42B_AYUV (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_Y42B_AYUV (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], FRAME_GET_LINE (src, 1, 0),
-      convert->src_stride[1], FRAME_GET_LINE (src, 2, 0),
-      convert->src_stride[2], (convert->width) / 2, convert->height);
-}
-
-static void
-convert_Y444_I420 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_memcpy_2d (FRAME_GET_LINE (dest, 0, 0), convert->dest_stride[0],
-      FRAME_GET_LINE (src, 0, 0), convert->src_stride[0],
-      convert->width, convert->height);
-
-  cogorc_planar_chroma_444_420 (FRAME_GET_LINE (dest, 1, 0),
-      convert->dest_stride[1], FRAME_GET_LINE (src, 1, 0),
-      2 * convert->src_stride[1], FRAME_GET_LINE (src, 1, 1),
-      2 * convert->src_stride[1], (convert->width + 1) / 2,
-      convert->height / 2);
-
-  cogorc_planar_chroma_444_420 (FRAME_GET_LINE (dest, 2, 0),
-      convert->dest_stride[2], FRAME_GET_LINE (src, 2, 0),
-      2 * convert->src_stride[2], FRAME_GET_LINE (src, 2, 1),
-      2 * convert->src_stride[2], (convert->width + 1) / 2,
-      convert->height / 2);
-
-  /* now handle last line */
-  if (convert->height & 1) {
-    getline_Y444 (convert, convert->tmpline, src, convert->height - 1);
-    putline_I420 (convert, dest, convert->tmpline, convert->height - 1);
-  }
-}
-
-static void
-convert_Y444_Y42B (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_memcpy_2d (FRAME_GET_LINE (dest, 0, 0), convert->dest_stride[0],
-      FRAME_GET_LINE (src, 0, 0), convert->src_stride[0],
-      convert->width, convert->height);
-
-  cogorc_planar_chroma_444_422 (FRAME_GET_LINE (dest, 1, 0),
-      convert->dest_stride[1], FRAME_GET_LINE (src, 1, 0),
-      convert->src_stride[1], (convert->width + 1) / 2, convert->height);
-
-  cogorc_planar_chroma_444_422 (FRAME_GET_LINE (dest, 2, 0),
-      convert->dest_stride[2], FRAME_GET_LINE (src, 2, 0),
-      convert->src_stride[2], (convert->width + 1) / 2, convert->height);
-}
-
-static void
-convert_Y444_YUY2 (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_Y444_YUY2 (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], FRAME_GET_LINE (src, 1, 0),
-      convert->src_stride[1], FRAME_GET_LINE (src, 2, 0),
-      convert->src_stride[2], (convert->width + 1) / 2, convert->height);
-}
-
-static void
-convert_Y444_UYVY (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_Y444_UYVY (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], FRAME_GET_LINE (src, 1, 0),
-      convert->src_stride[1], FRAME_GET_LINE (src, 2, 0),
-      convert->src_stride[2], (convert->width + 1) / 2, convert->height);
-}
-
-static void
-convert_Y444_AYUV (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_Y444_AYUV (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], FRAME_GET_LINE (src, 1, 0),
-      convert->src_stride[1], FRAME_GET_LINE (src, 2, 0),
-      convert->src_stride[2], convert->width, convert->height);
-}
-
-#if G_BYTE_ORDER == G_LITTLE_ENDIAN
-static void
-convert_AYUV_ARGB (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_AYUV_ARGB (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], convert->width, convert->height);
-}
-
-static void
-convert_AYUV_BGRA (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_AYUV_BGRA (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], convert->width, convert->height);
-}
-
-static void
-convert_AYUV_ABGR (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_AYUV_ABGR (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], convert->width, convert->height);
-}
-
-static void
-convert_AYUV_RGBA (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  cogorc_convert_AYUV_RGBA (FRAME_GET_LINE (dest, 0, 0),
-      convert->dest_stride[0], FRAME_GET_LINE (src, 0, 0),
-      convert->src_stride[0], convert->width, convert->height);
-}
-
-static void
-convert_I420_BGRA (ColorspaceConvert * convert, guint8 * dest,
-    const guint8 * src)
-{
-  int i;
-  int quality = 0;
-
-  if (quality > 3) {
-    for (i = 0; i < convert->height; i++) {
-      if (i & 1) {
-        cogorc_convert_I420_BGRA_avg (FRAME_GET_LINE (dest, 0, i),
-            FRAME_GET_LINE (src, 0, i),
-            FRAME_GET_LINE (src, 1, i >> 1),
-            FRAME_GET_LINE (src, 1, (i >> 1) + 1),
-            FRAME_GET_LINE (src, 2, i >> 1),
-            FRAME_GET_LINE (src, 2, (i >> 1) + 1), convert->width);
-      } else {
-        cogorc_convert_I420_BGRA (FRAME_GET_LINE (dest, 0, i),
-            FRAME_GET_LINE (src, 0, i),
-            FRAME_GET_LINE (src, 1, i >> 1),
-            FRAME_GET_LINE (src, 2, i >> 1), convert->width);
-      }
-    }
-  } else {
-    for (i = 0; i < convert->height; i++) {
-      cogorc_convert_I420_BGRA (FRAME_GET_LINE (dest, 0, i),
-          FRAME_GET_LINE (src, 0, i),
-          FRAME_GET_LINE (src, 1, i >> 1),
-          FRAME_GET_LINE (src, 2, i >> 1), convert->width);
-    }
-  }
-}
-#endif
-
-
-
-/* Fast paths */
-
-typedef struct
-{
-  GstVideoFormat from_format;
-  ColorSpaceColorSpec from_spec;
-  GstVideoFormat to_format;
-  ColorSpaceColorSpec to_spec;
-  gboolean keeps_color_spec;
-  void (*convert) (ColorspaceConvert * convert, guint8 * dest,
-      const guint8 * src);
-} ColorspaceTransform;
-static const ColorspaceTransform transforms[] = {
-  {GST_VIDEO_FORMAT_I420, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_YUY2,
-      COLOR_SPEC_NONE, TRUE, convert_I420_YUY2},
-  {GST_VIDEO_FORMAT_I420, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_UYVY,
-      COLOR_SPEC_NONE, TRUE, convert_I420_UYVY},
-  {GST_VIDEO_FORMAT_I420, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_AYUV,
-      COLOR_SPEC_NONE, TRUE, convert_I420_AYUV},
-  {GST_VIDEO_FORMAT_I420, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_Y42B,
-      COLOR_SPEC_NONE, TRUE, convert_I420_Y42B},
-  {GST_VIDEO_FORMAT_I420, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_Y444,
-      COLOR_SPEC_NONE, TRUE, convert_I420_Y444},
-
-  {GST_VIDEO_FORMAT_YUY2, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_I420,
-      COLOR_SPEC_NONE, TRUE, convert_YUY2_I420},
-  {GST_VIDEO_FORMAT_YUY2, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_UYVY, COLOR_SPEC_NONE, TRUE, convert_UYVY_YUY2},    /* alias */
-  {GST_VIDEO_FORMAT_YUY2, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_AYUV,
-      COLOR_SPEC_NONE, TRUE, convert_YUY2_AYUV},
-  {GST_VIDEO_FORMAT_YUY2, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_Y42B,
-      COLOR_SPEC_NONE, TRUE, convert_YUY2_Y42B},
-  {GST_VIDEO_FORMAT_YUY2, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_Y444,
-      COLOR_SPEC_NONE, TRUE, convert_YUY2_Y444},
-
-  {GST_VIDEO_FORMAT_UYVY, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_I420,
-      COLOR_SPEC_NONE, TRUE, convert_UYVY_I420},
-  {GST_VIDEO_FORMAT_UYVY, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_YUY2,
-      COLOR_SPEC_NONE, TRUE, convert_UYVY_YUY2},
-  {GST_VIDEO_FORMAT_UYVY, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_AYUV,
-      COLOR_SPEC_NONE, TRUE, convert_UYVY_AYUV},
-  {GST_VIDEO_FORMAT_UYVY, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_Y42B,
-      COLOR_SPEC_NONE, TRUE, convert_UYVY_Y42B},
-  {GST_VIDEO_FORMAT_UYVY, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_Y444,
-      COLOR_SPEC_NONE, TRUE, convert_UYVY_Y444},
-
-  {GST_VIDEO_FORMAT_AYUV, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_I420,
-      COLOR_SPEC_NONE, TRUE, convert_AYUV_I420},
-  {GST_VIDEO_FORMAT_AYUV, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_YUY2,
-      COLOR_SPEC_NONE, TRUE, convert_AYUV_YUY2},
-  {GST_VIDEO_FORMAT_AYUV, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_UYVY,
-      COLOR_SPEC_NONE, TRUE, convert_AYUV_UYVY},
-  {GST_VIDEO_FORMAT_AYUV, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_Y42B,
-      COLOR_SPEC_NONE, TRUE, convert_AYUV_Y42B},
-  {GST_VIDEO_FORMAT_AYUV, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_Y444,
-      COLOR_SPEC_NONE, TRUE, convert_AYUV_Y444},
-
-  {GST_VIDEO_FORMAT_Y42B, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_I420,
-      COLOR_SPEC_NONE, TRUE, convert_Y42B_I420},
-  {GST_VIDEO_FORMAT_Y42B, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_YUY2,
-      COLOR_SPEC_NONE, TRUE, convert_Y42B_YUY2},
-  {GST_VIDEO_FORMAT_Y42B, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_UYVY,
-      COLOR_SPEC_NONE, TRUE, convert_Y42B_UYVY},
-  {GST_VIDEO_FORMAT_Y42B, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_AYUV,
-      COLOR_SPEC_NONE, TRUE, convert_Y42B_AYUV},
-  {GST_VIDEO_FORMAT_Y42B, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_Y444,
-      COLOR_SPEC_NONE, TRUE, convert_Y42B_Y444},
-
-  {GST_VIDEO_FORMAT_Y444, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_I420,
-      COLOR_SPEC_NONE, TRUE, convert_Y444_I420},
-  {GST_VIDEO_FORMAT_Y444, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_YUY2,
-      COLOR_SPEC_NONE, TRUE, convert_Y444_YUY2},
-  {GST_VIDEO_FORMAT_Y444, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_UYVY,
-      COLOR_SPEC_NONE, TRUE, convert_Y444_UYVY},
-  {GST_VIDEO_FORMAT_Y444, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_AYUV,
-      COLOR_SPEC_NONE, TRUE, convert_Y444_AYUV},
-  {GST_VIDEO_FORMAT_Y444, COLOR_SPEC_NONE, GST_VIDEO_FORMAT_Y42B,
-      COLOR_SPEC_NONE, TRUE, convert_Y444_Y42B},
-
-#if G_BYTE_ORDER == G_LITTLE_ENDIAN
-  {GST_VIDEO_FORMAT_AYUV, COLOR_SPEC_YUV_BT470_6, GST_VIDEO_FORMAT_ARGB,
-      COLOR_SPEC_RGB, FALSE, convert_AYUV_ARGB},
-  {GST_VIDEO_FORMAT_AYUV, COLOR_SPEC_YUV_BT470_6, GST_VIDEO_FORMAT_BGRA,
-      COLOR_SPEC_RGB, FALSE, convert_AYUV_BGRA},
-  {GST_VIDEO_FORMAT_AYUV, COLOR_SPEC_YUV_BT470_6, GST_VIDEO_FORMAT_xRGB, COLOR_SPEC_RGB, FALSE, convert_AYUV_ARGB},     /* alias */
-  {GST_VIDEO_FORMAT_AYUV, COLOR_SPEC_YUV_BT470_6, GST_VIDEO_FORMAT_BGRx, COLOR_SPEC_RGB, FALSE, convert_AYUV_BGRA},     /* alias */
-  {GST_VIDEO_FORMAT_AYUV, COLOR_SPEC_YUV_BT470_6, GST_VIDEO_FORMAT_ABGR,
-      COLOR_SPEC_RGB, FALSE, convert_AYUV_ABGR},
-  {GST_VIDEO_FORMAT_AYUV, COLOR_SPEC_YUV_BT470_6, GST_VIDEO_FORMAT_RGBA,
-      COLOR_SPEC_RGB, FALSE, convert_AYUV_RGBA},
-  {GST_VIDEO_FORMAT_AYUV, COLOR_SPEC_YUV_BT470_6, GST_VIDEO_FORMAT_xBGR, COLOR_SPEC_RGB, FALSE, convert_AYUV_ABGR},     /* alias */
-  {GST_VIDEO_FORMAT_AYUV, COLOR_SPEC_YUV_BT470_6, GST_VIDEO_FORMAT_RGBx, COLOR_SPEC_RGB, FALSE, convert_AYUV_RGBA},     /* alias */
-
-  {GST_VIDEO_FORMAT_I420, COLOR_SPEC_YUV_BT470_6, GST_VIDEO_FORMAT_BGRA,
-      COLOR_SPEC_RGB, FALSE, convert_I420_BGRA},
-#endif
-};
-
-static void
-colorspace_convert_lookup_fastpath (ColorspaceConvert * convert)
-{
-  int i;
-
-  for (i = 0; i < sizeof (transforms) / sizeof (transforms[0]); i++) {
-    if (transforms[i].to_format == convert->to_format &&
-        transforms[i].from_format == convert->from_format &&
-        (transforms[i].keeps_color_spec ||
-            (transforms[i].from_spec == convert->from_spec &&
-                transforms[i].to_spec == convert->to_spec))) {
-      convert->convert = transforms[i].convert;
-      return;
-    }
-  }
-}
diff --git a/gst/colorspace/colorspace.h b/gst/colorspace/colorspace.h
deleted file mode 100644 (file)
index 7ae8892..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-/* Colorspace conversion functions
- * Copyright (C) 2010 David Schleef <ds@schleef.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __COLORSPACE_H__
-#define __COLORSPACE_H__
-
-#include <gst/video/video.h>
-
-G_BEGIN_DECLS
-
-typedef struct _ColorspaceConvert ColorspaceConvert;
-typedef struct _ColorspaceFrame ColorspaceComponent;
-
-typedef enum {
-  COLOR_SPEC_NONE = 0,
-  COLOR_SPEC_RGB,
-  COLOR_SPEC_GRAY,
-  COLOR_SPEC_YUV_BT470_6,
-  COLOR_SPEC_YUV_BT709,
-  COLOR_SPEC_YUV_JPEG
-} ColorSpaceColorSpec;
-
-typedef enum {
-  DITHER_NONE,
-  DITHER_VERTERR,
-  DITHER_HALFTONE
-} ColorSpaceDitherMethod;
-
-struct _ColorspaceComponent {
-  int offset;
-  int stride;
-};
-
-struct _ColorspaceConvert {
-  gint width, height;
-  gboolean interlaced;
-  gboolean use_16bit;
-  gboolean dither;
-
-  GstVideoFormat from_format;
-  ColorSpaceColorSpec from_spec;
-  GstVideoFormat to_format;
-  ColorSpaceColorSpec to_spec;
-  guint32 *palette;
-
-  guint8 *tmpline;
-  guint16 *tmpline16;
-  guint16 *errline;
-
-  int dest_offset[4];
-  int dest_stride[4];
-  int src_offset[4];
-  int src_stride[4];
-
-  void (*convert) (ColorspaceConvert *convert, guint8 *dest, const guint8 *src);
-  void (*getline) (ColorspaceConvert *convert, guint8 *dest, const guint8 *src, int j);
-  void (*putline) (ColorspaceConvert *convert, guint8 *dest, const guint8 *src, int j);
-  void (*matrix) (ColorspaceConvert *convert);
-
-  void (*getline16) (ColorspaceConvert *convert, guint16 *dest, const guint8 *src, int j);
-  void (*putline16) (ColorspaceConvert *convert, guint8 *dest, const guint16 *src, int j);
-  void (*matrix16) (ColorspaceConvert *convert);
-  void (*dither16) (ColorspaceConvert *convert, int j);
-};
-
-ColorspaceConvert * colorspace_convert_new (GstVideoFormat to_format,
-    ColorSpaceColorSpec from_spec, GstVideoFormat from_format,
-    ColorSpaceColorSpec to_spec, int width, int height);
-void colorspace_convert_set_dither (ColorspaceConvert * convert, int type);
-void colorspace_convert_set_interlaced (ColorspaceConvert *convert,
-    gboolean interlaced);
-void colorspace_convert_set_palette (ColorspaceConvert *convert,
-    const guint32 *palette);
-const guint32 * colorspace_convert_get_palette (ColorspaceConvert *convert);
-void colorspace_convert_free (ColorspaceConvert * convert);
-void colorspace_convert_convert (ColorspaceConvert * convert,
-    guint8 *dest, const guint8 *src);
-
-
-G_END_DECLS
-
-#endif /* __GST_COLORSPACE_H__ */
diff --git a/gst/colorspace/colorspace.vcproj b/gst/colorspace/colorspace.vcproj
deleted file mode 100644 (file)
index f6ca6ce..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="7.10"
-       Name="colorspace"
-       ProjectGUID="{979C216F-0ACF-4956-AE00-055A42D678AB}"
-       Keyword="Win32Proj">
-       <Platforms>
-               <Platform
-                       Name="Win32"/>
-       </Platforms>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory="../../win32/Debug"
-                       IntermediateDirectory="../../win32/Debug"
-                       ConfigurationType="2"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               AdditionalIncludeDirectories="../../../gstreamer/win32;../../../gstreamer;../../../gstreamer/libs;../../../glib;../../../glib/glib;../../../glib/gmodule;&quot;../../gst-libs&quot;;../../../popt/include;../../../libxml2/include/libxml2"
-                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;colorspace_EXPORTS;HAVE_CONFIG_H;_USE_MATH_DEFINES"
-                               MinimalRebuild="TRUE"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="0"
-                               WarningLevel="3"
-                               Detect64BitPortabilityProblems="TRUE"
-                               DebugInformationFormat="4"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalDependencies="glib-2.0.lib gmodule-2.0.lib gthread-2.0.lib gobject-2.0.lib libgstreamer.lib gstbytestream.lib iconv.lib intl.lib"
-                               OutputFile="$(OutDir)/gstcolorspace.dll"
-                               LinkIncremental="2"
-                               AdditionalLibraryDirectories="../../../gstreamer/win32/Debug;../../../glib/glib;../../../glib/gmodule;../../../glib/gthread;../../../glib/gobject;../../../gettext/lib;../../../libiconv/lib"
-                               ModuleDefinitionFile=""
-                               GenerateDebugInformation="TRUE"
-                               ProgramDatabaseFile="$(OutDir)/colorspace.pdb"
-                               SubSystem="2"
-                               OptimizeReferences="2"
-                               ImportLibrary="$(OutDir)/gstcolorspace.lib"
-                               TargetMachine="1"/>
-                       <Tool
-                               Name="VCMIDLTool"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                               CommandLine="copy /Y $(TargetPath) c:\gstreamer\plugins"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCWebDeploymentTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-               </Configuration>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory="../../win32/Release"
-                       IntermediateDirectory="../../win32/Release"
-                       ConfigurationType="2"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               AdditionalIncludeDirectories="../../../gstreamer/win32;../../../gstreamer;../../../gstreamer/libs;../../../glib;../../../glib/glib;../../../glib/gmodule;&quot;../../gst-libs&quot;;../../../popt/include;../../../libxml2/include/libxml2"
-                               PreprocessorDefinitions="WIN32;NDEBUG;GST_DISABLE_GST_DEBUG;_WINDOWS;_USRDLL;colorspace_EXPORTS;HAVE_CONFIG_H;_USE_MATH_DEFINES"
-                               RuntimeLibrary="2"
-                               UsePrecompiledHeader="0"
-                               WarningLevel="3"
-                               Detect64BitPortabilityProblems="TRUE"
-                               DebugInformationFormat="3"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalDependencies="glib-2.0.lib gmodule-2.0.lib gthread-2.0.lib gobject-2.0.lib libgstreamer.lib gstbytestream.lib iconv.lib intl.lib"
-                               OutputFile="$(OutDir)/gstcolorspace.dll"
-                               LinkIncremental="1"
-                               AdditionalLibraryDirectories="../../../gstreamer/win32/Release;../../../glib/glib;../../../glib/gmodule;../../../glib/gthread;../../../glib/gobject;../../../gettext/lib;../../../libiconv/lib"
-                               ModuleDefinitionFile=""
-                               GenerateDebugInformation="TRUE"
-                               SubSystem="2"
-                               OptimizeReferences="2"
-                               EnableCOMDATFolding="2"
-                               ImportLibrary="$(OutDir)/gstcolorspace.lib"
-                               TargetMachine="1"/>
-                       <Tool
-                               Name="VCMIDLTool"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                               CommandLine="copy /Y $(TargetPath) c:\gstreamer\plugins"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCWebDeploymentTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
-                       UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
-                       <File
-                               RelativePath=".\gstcolorspace.c">
-                       </File>
-                       <File
-                               RelativePath=".\yuv2rgb.c">
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl;inc;xsd"
-                       UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
-                       <File
-                               RelativePath=".\gstcolorspace.h">
-                       </File>
-                       <File
-                               RelativePath=".\yuv2rgb.h">
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Resource Files"
-                       Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
-                       UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
-               </Filter>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/gst/colorspace/gstcolorspace.c b/gst/colorspace/gstcolorspace.c
deleted file mode 100644 (file)
index 1f396c7..0000000
+++ /dev/null
@@ -1,597 +0,0 @@
-/* GStreamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
- * This file:
- * Copyright (C) 2003 Ronald Bultje <rbultje@ronald.bitfreak.net>
- * Copyright (C) 2010 David Schleef <ds@schleef.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/**
- * SECTION:element-colorspace
- *
- * Convert video frames between a great variety of colorspace formats.
- *
- * <refsect2>
- * <title>Example launch line</title>
- * |[
- * gst-launch -v videotestsrc ! video/x-raw-yuv,format=\(fourcc\)YUY2 ! colorspace ! ximagesink
- * ]|
- * </refsect2>
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include "gstcolorspace.h"
-#include <gst/video/video.h>
-
-#include <string.h>
-
-GST_DEBUG_CATEGORY (colorspace_debug);
-#define GST_CAT_DEFAULT colorspace_debug
-GST_DEBUG_CATEGORY (colorspace_performance);
-
-enum
-{
-  PROP_0,
-  PROP_DITHER
-};
-
-#define CSP_VIDEO_CAPS                                         \
-  "video/x-raw-yuv, width = "GST_VIDEO_SIZE_RANGE" , "                 \
-  "height="GST_VIDEO_SIZE_RANGE",framerate="GST_VIDEO_FPS_RANGE","     \
-  "format= (fourcc) { I420 , NV12 , NV21 , YV12 , YUY2 , Y42B , Y444 , YUV9 , YVU9 , Y41B , Y800 , Y8 , GREY , Y16 , UYVY , YVYU , IYU1 , v308 , AYUV, v210, v216, A420, AY64 } ;" \
-  GST_VIDEO_CAPS_RGB";"                                                        \
-  GST_VIDEO_CAPS_BGR";"                                                        \
-  GST_VIDEO_CAPS_RGBx";"                                               \
-  GST_VIDEO_CAPS_xRGB";"                                               \
-  GST_VIDEO_CAPS_BGRx";"                                               \
-  GST_VIDEO_CAPS_xBGR";"                                               \
-  GST_VIDEO_CAPS_RGBA";"                                               \
-  GST_VIDEO_CAPS_ARGB";"                                               \
-  GST_VIDEO_CAPS_BGRA";"                                               \
-  GST_VIDEO_CAPS_ABGR";"                                               \
-  GST_VIDEO_CAPS_RGB_16";"                                             \
-  GST_VIDEO_CAPS_BGR_16";"                                             \
-  GST_VIDEO_CAPS_RGB_15";"                                             \
-  GST_VIDEO_CAPS_BGR_15";"                                             \
-  GST_VIDEO_CAPS_RGB8_PALETTED "; "                                     \
-  GST_VIDEO_CAPS_GRAY8";"                                              \
-  GST_VIDEO_CAPS_GRAY16("BIG_ENDIAN")";"                               \
-  GST_VIDEO_CAPS_GRAY16("LITTLE_ENDIAN")";"                             \
-  GST_VIDEO_CAPS_r210";"                                                \
-  GST_VIDEO_CAPS_ARGB_64
-
-static GstStaticPadTemplate gst_csp_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
-    GST_PAD_SRC,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (CSP_VIDEO_CAPS)
-    );
-
-static GstStaticPadTemplate gst_csp_sink_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS (CSP_VIDEO_CAPS)
-    );
-
-GType gst_csp_get_type (void);
-
-static void gst_csp_set_property (GObject * object,
-    guint property_id, const GValue * value, GParamSpec * pspec);
-static void gst_csp_get_property (GObject * object,
-    guint property_id, GValue * value, GParamSpec * pspec);
-static void gst_csp_dispose (GObject * object);
-
-static gboolean gst_csp_set_caps (GstBaseTransform * btrans,
-    GstCaps * incaps, GstCaps * outcaps);
-static gboolean gst_csp_get_unit_size (GstBaseTransform * btrans,
-    GstCaps * caps, guint * size);
-static GstFlowReturn gst_csp_transform (GstBaseTransform * btrans,
-    GstBuffer * inbuf, GstBuffer * outbuf);
-
-static GQuark _QRAWRGB;         /* "video/x-raw-rgb" */
-static GQuark _QRAWYUV;         /* "video/x-raw-yuv" */
-static GQuark _QALPHAMASK;      /* "alpha_mask" */
-
-
-static GType
-dither_method_get_type (void)
-{
-  static GType gtype = 0;
-
-  if (gtype == 0) {
-    static const GEnumValue values[] = {
-      {DITHER_NONE, "No dithering (default)", "none"},
-      {DITHER_VERTERR, "Vertical error propogation", "verterr"},
-      {DITHER_HALFTONE, "Half-tone", "halftone"},
-      {0, NULL, NULL}
-    };
-
-    gtype = g_enum_register_static ("GstColorspaceDitherMethod", values);
-  }
-  return gtype;
-}
-
-/* copies the given caps */
-static GstCaps *
-gst_csp_caps_remove_format_info (GstCaps * caps)
-{
-  GstStructure *yuvst, *rgbst, *grayst;
-
-  /* We know there's only one structure since we're given simple caps */
-  caps = gst_caps_copy (caps);
-
-  yuvst = gst_caps_get_structure (caps, 0);
-
-  gst_structure_set_name (yuvst, "video/x-raw-yuv");
-  gst_structure_remove_fields (yuvst, "format", "endianness", "depth",
-      "bpp", "red_mask", "green_mask", "blue_mask", "alpha_mask",
-      "palette_data", "color-matrix", NULL);
-
-  rgbst = gst_structure_copy (yuvst);
-  gst_structure_set_name (rgbst, "video/x-raw-rgb");
-  gst_structure_remove_fields (rgbst, "color-matrix", "chroma-site", NULL);
-
-  grayst = gst_structure_copy (rgbst);
-  gst_structure_set_name (grayst, "video/x-raw-gray");
-
-  gst_caps_append_structure (caps, rgbst);
-  gst_caps_append_structure (caps, grayst);
-
-  return caps;
-}
-
-
-static gboolean
-gst_csp_structure_is_alpha (GstStructure * s)
-{
-  GQuark name;
-
-  name = gst_structure_get_name_id (s);
-
-  if (name == _QRAWRGB) {
-    return gst_structure_id_has_field (s, _QALPHAMASK);
-  } else if (name == _QRAWYUV) {
-    guint32 fourcc;
-
-    if (!gst_structure_get_fourcc (s, "format", &fourcc))
-      return FALSE;
-
-    return (fourcc == GST_MAKE_FOURCC ('A', 'Y', 'U', 'V'));
-  }
-
-  return FALSE;
-}
-
-/* The caps can be transformed into any other caps with format info removed.
- * However, we should prefer passthrough, so if passthrough is possible,
- * put it first in the list. */
-static GstCaps *
-gst_csp_transform_caps (GstBaseTransform * btrans,
-    GstPadDirection direction, GstCaps * caps)
-{
-  GstCaps *template;
-  GstCaps *tmp, *tmp2;
-  GstCaps *result;
-  GstStructure *s;
-  GstCaps *alpha, *non_alpha;
-
-  template = gst_static_pad_template_get_caps (&gst_csp_src_template);
-  result = gst_caps_copy (caps);
-
-  /* Get all possible caps that we can transform to */
-  tmp = gst_csp_caps_remove_format_info (caps);
-  tmp2 = gst_caps_intersect (tmp, template);
-  gst_caps_unref (tmp);
-  tmp = tmp2;
-
-  /* Now move alpha formats to the beginning if caps is an alpha format
-   * or at the end if caps is no alpha format */
-  alpha = gst_caps_new_empty ();
-  non_alpha = gst_caps_new_empty ();
-
-  while ((s = gst_caps_steal_structure (tmp, 0))) {
-    if (gst_csp_structure_is_alpha (s))
-      gst_caps_append_structure (alpha, s);
-    else
-      gst_caps_append_structure (non_alpha, s);
-  }
-
-  s = gst_caps_get_structure (caps, 0);
-  gst_caps_unref (tmp);
-
-  if (gst_csp_structure_is_alpha (s)) {
-    gst_caps_append (alpha, non_alpha);
-    tmp = alpha;
-  } else {
-    gst_caps_append (non_alpha, alpha);
-    tmp = non_alpha;
-  }
-
-  gst_caps_append (result, tmp);
-
-  GST_DEBUG_OBJECT (btrans, "transformed %" GST_PTR_FORMAT " into %"
-      GST_PTR_FORMAT, caps, result);
-
-  return result;
-}
-
-static gboolean
-gst_csp_set_caps (GstBaseTransform * btrans, GstCaps * incaps,
-    GstCaps * outcaps)
-{
-  GstCsp *space;
-  GstVideoFormat in_format;
-  GstVideoFormat out_format;
-  gint in_height, in_width;
-  gint out_height, out_width;
-  gint in_fps_n, in_fps_d, in_par_n, in_par_d;
-  gint out_fps_n, out_fps_d, out_par_n, out_par_d;
-  gboolean have_in_par, have_out_par;
-  gboolean have_in_interlaced, have_out_interlaced;
-  gboolean in_interlaced, out_interlaced;
-  gboolean ret;
-  ColorSpaceColorSpec in_spec, out_spec;
-
-  space = GST_CSP (btrans);
-
-  if (space->convert) {
-    colorspace_convert_free (space->convert);
-  }
-
-  /* input caps */
-
-  ret = gst_video_format_parse_caps (incaps, &in_format, &in_width, &in_height);
-  if (!ret)
-    goto no_width_height;
-
-  ret = gst_video_parse_caps_framerate (incaps, &in_fps_n, &in_fps_d);
-  if (!ret)
-    goto no_framerate;
-
-  have_in_par = gst_video_parse_caps_pixel_aspect_ratio (incaps,
-      &in_par_n, &in_par_d);
-  have_in_interlaced = gst_video_format_parse_caps_interlaced (incaps,
-      &in_interlaced);
-
-  if (gst_video_format_is_rgb (in_format)) {
-    in_spec = COLOR_SPEC_RGB;
-  } else if (gst_video_format_is_yuv (in_format)) {
-    const gchar *matrix = gst_video_parse_caps_color_matrix (incaps);
-
-    if (matrix && g_str_equal (matrix, "hdtv"))
-      in_spec = COLOR_SPEC_YUV_BT709;
-    else if (matrix && g_str_equal (matrix, "jpeg"))
-      in_spec = COLOR_SPEC_YUV_JPEG;
-    else
-      in_spec = COLOR_SPEC_YUV_BT470_6;
-  } else {
-    in_spec = COLOR_SPEC_GRAY;
-  }
-
-  /* output caps */
-
-  ret =
-      gst_video_format_parse_caps (outcaps, &out_format, &out_width,
-      &out_height);
-  if (!ret)
-    goto no_width_height;
-
-  ret = gst_video_parse_caps_framerate (outcaps, &out_fps_n, &out_fps_d);
-  if (!ret)
-    goto no_framerate;
-
-  have_out_par = gst_video_parse_caps_pixel_aspect_ratio (outcaps,
-      &out_par_n, &out_par_d);
-  have_out_interlaced = gst_video_format_parse_caps_interlaced (incaps,
-      &out_interlaced);
-
-  if (gst_video_format_is_rgb (out_format)) {
-    out_spec = COLOR_SPEC_RGB;
-  } else if (gst_video_format_is_yuv (out_format)) {
-    const gchar *matrix = gst_video_parse_caps_color_matrix (outcaps);
-
-    if (matrix && g_str_equal (matrix, "hdtv"))
-      out_spec = COLOR_SPEC_YUV_BT709;
-    else if (matrix && g_str_equal (matrix, "jpeg"))
-      out_spec = COLOR_SPEC_YUV_JPEG;
-    else
-      out_spec = COLOR_SPEC_YUV_BT470_6;
-  } else {
-    out_spec = COLOR_SPEC_GRAY;
-  }
-
-  /* these must match */
-  if (in_width != out_width || in_height != out_height ||
-      in_fps_n != out_fps_n || in_fps_d != out_fps_d)
-    goto format_mismatch;
-
-  /* if present, these must match too */
-  if (have_in_par && have_out_par &&
-      (in_par_n != out_par_n || in_par_d != out_par_d))
-    goto format_mismatch;
-
-  /* if present, these must match too */
-  if (have_in_interlaced && have_out_interlaced &&
-      in_interlaced != out_interlaced)
-    goto format_mismatch;
-
-  space->from_format = in_format;
-  space->from_spec = in_spec;
-  space->to_format = out_format;
-  space->to_spec = out_spec;
-  space->width = in_width;
-  space->height = in_height;
-  space->interlaced = in_interlaced;
-
-  space->convert = colorspace_convert_new (out_format, out_spec, in_format,
-      in_spec, in_width, in_height);
-  if (space->convert) {
-    colorspace_convert_set_interlaced (space->convert, in_interlaced);
-  }
-  /* palette, only for from data */
-  if (space->from_format == GST_VIDEO_FORMAT_RGB8_PALETTED &&
-      space->to_format == GST_VIDEO_FORMAT_RGB8_PALETTED) {
-    goto format_mismatch;
-  } else if (space->from_format == GST_VIDEO_FORMAT_RGB8_PALETTED) {
-    GstBuffer *palette;
-
-    palette = gst_video_parse_caps_palette (incaps);
-
-    if (!palette || GST_BUFFER_SIZE (palette) < 256 * 4) {
-      if (palette)
-        gst_buffer_unref (palette);
-      goto invalid_palette;
-    }
-    colorspace_convert_set_palette (space->convert,
-        (const guint32 *) GST_BUFFER_DATA (palette));
-    gst_buffer_unref (palette);
-  } else if (space->to_format == GST_VIDEO_FORMAT_RGB8_PALETTED) {
-    const guint32 *palette;
-    GstBuffer *p_buf;
-
-    palette = colorspace_convert_get_palette (space->convert);
-    p_buf = gst_buffer_new_and_alloc (256 * 4);
-    memcpy (GST_BUFFER_DATA (p_buf), palette, 256 * 4);
-    gst_caps_set_simple (outcaps, "palette_data", GST_TYPE_BUFFER, p_buf, NULL);
-    gst_buffer_unref (p_buf);
-  }
-
-  GST_DEBUG ("reconfigured %d %d", space->from_format, space->to_format);
-
-  return TRUE;
-
-  /* ERRORS */
-no_width_height:
-  {
-    GST_ERROR_OBJECT (space, "did not specify width or height");
-    space->from_format = GST_VIDEO_FORMAT_UNKNOWN;
-    space->to_format = GST_VIDEO_FORMAT_UNKNOWN;
-    return FALSE;
-  }
-no_framerate:
-  {
-    GST_ERROR_OBJECT (space, "did not specify framerate");
-    space->from_format = GST_VIDEO_FORMAT_UNKNOWN;
-    space->to_format = GST_VIDEO_FORMAT_UNKNOWN;
-    return FALSE;
-  }
-format_mismatch:
-  {
-    GST_ERROR_OBJECT (space, "input and output formats do not match");
-    space->from_format = GST_VIDEO_FORMAT_UNKNOWN;
-    space->to_format = GST_VIDEO_FORMAT_UNKNOWN;
-    return FALSE;
-  }
-invalid_palette:
-  {
-    GST_ERROR_OBJECT (space, "invalid palette");
-    space->from_format = GST_VIDEO_FORMAT_UNKNOWN;
-    space->to_format = GST_VIDEO_FORMAT_UNKNOWN;
-    return FALSE;
-  }
-}
-
-GST_BOILERPLATE (GstCsp, gst_csp, GstVideoFilter, GST_TYPE_VIDEO_FILTER);
-
-static void
-gst_csp_base_init (gpointer klass)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_csp_src_template));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&gst_csp_sink_template));
-
-  gst_element_class_set_details_simple (element_class,
-      " Colorspace converter", "Filter/Converter/Video",
-      "Converts video from one colorspace to another",
-      "GStreamer maintainers <gstreamer-devel@lists.sourceforge.net>");
-
-  _QRAWRGB = g_quark_from_string ("video/x-raw-rgb");
-  _QRAWYUV = g_quark_from_string ("video/x-raw-yuv");
-  _QALPHAMASK = g_quark_from_string ("alpha_mask");
-}
-
-void
-gst_csp_dispose (GObject * object)
-{
-  G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-static void
-gst_csp_finalize (GObject * obj)
-{
-  GstCsp *space = GST_CSP (obj);
-
-  if (space->convert) {
-    colorspace_convert_free (space->convert);
-  }
-
-  G_OBJECT_CLASS (parent_class)->finalize (obj);
-
-}
-
-static void
-gst_csp_class_init (GstCspClass * klass)
-{
-  GObjectClass *gobject_class = (GObjectClass *) klass;
-  GstBaseTransformClass *gstbasetransform_class =
-      (GstBaseTransformClass *) klass;
-
-  gobject_class->set_property = gst_csp_set_property;
-  gobject_class->get_property = gst_csp_get_property;
-  gobject_class->dispose = gst_csp_dispose;
-  gobject_class->finalize = gst_csp_finalize;
-
-  gstbasetransform_class->transform_caps =
-      GST_DEBUG_FUNCPTR (gst_csp_transform_caps);
-  gstbasetransform_class->set_caps = GST_DEBUG_FUNCPTR (gst_csp_set_caps);
-  gstbasetransform_class->get_unit_size =
-      GST_DEBUG_FUNCPTR (gst_csp_get_unit_size);
-  gstbasetransform_class->transform = GST_DEBUG_FUNCPTR (gst_csp_transform);
-
-  gstbasetransform_class->passthrough_on_same_caps = TRUE;
-
-  g_object_class_install_property (gobject_class, PROP_DITHER,
-      g_param_spec_enum ("dither", "Dither", "Apply dithering while converting",
-          dither_method_get_type (), DITHER_NONE,
-          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
-}
-
-static void
-gst_csp_init (GstCsp * space, GstCspClass * klass)
-{
-  space->from_format = GST_VIDEO_FORMAT_UNKNOWN;
-  space->to_format = GST_VIDEO_FORMAT_UNKNOWN;
-}
-
-void
-gst_csp_set_property (GObject * object, guint property_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstCsp *csp;
-
-  g_return_if_fail (GST_IS_CSP (object));
-  csp = GST_CSP (object);
-
-  switch (property_id) {
-    case PROP_DITHER:
-      csp->dither = g_value_get_enum (value);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-      break;
-  }
-}
-
-void
-gst_csp_get_property (GObject * object, guint property_id,
-    GValue * value, GParamSpec * pspec)
-{
-  GstCsp *csp;
-
-  g_return_if_fail (GST_IS_CSP (object));
-  csp = GST_CSP (object);
-
-  switch (property_id) {
-    case PROP_DITHER:
-      g_value_set_enum (value, csp->dither);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-      break;
-  }
-}
-
-static gboolean
-gst_csp_get_unit_size (GstBaseTransform * btrans, GstCaps * caps, guint * size)
-{
-  gboolean ret = TRUE;
-  GstVideoFormat format;
-  gint width, height;
-
-  g_assert (size);
-
-  ret = gst_video_format_parse_caps (caps, &format, &width, &height);
-  if (ret) {
-    *size = gst_video_format_get_size (format, width, height);
-  }
-
-  return ret;
-}
-
-static GstFlowReturn
-gst_csp_transform (GstBaseTransform * btrans, GstBuffer * inbuf,
-    GstBuffer * outbuf)
-{
-  GstCsp *space;
-
-  space = GST_CSP (btrans);
-
-  GST_DEBUG ("from %d -> to %d", space->from_format, space->to_format);
-
-  if (G_UNLIKELY (space->from_format == GST_VIDEO_FORMAT_UNKNOWN ||
-          space->to_format == GST_VIDEO_FORMAT_UNKNOWN))
-    goto unknown_format;
-
-  colorspace_convert_set_dither (space->convert, space->dither);
-
-  colorspace_convert_convert (space->convert, GST_BUFFER_DATA (outbuf),
-      GST_BUFFER_DATA (inbuf));
-
-  /* baseclass copies timestamps */
-  GST_DEBUG ("from %d -> to %d done", space->from_format, space->to_format);
-
-  return GST_FLOW_OK;
-
-  /* ERRORS */
-unknown_format:
-  {
-    GST_ELEMENT_ERROR (space, CORE, NOT_IMPLEMENTED, (NULL),
-        ("attempting to convert colorspaces between unknown formats"));
-    return GST_FLOW_NOT_NEGOTIATED;
-  }
-#if 0
-not_supported:
-  {
-    GST_ELEMENT_ERROR (space, CORE, NOT_IMPLEMENTED, (NULL),
-        ("cannot convert between formats"));
-    return GST_FLOW_NOT_SUPPORTED;
-  }
-#endif
-}
-
-static gboolean
-plugin_init (GstPlugin * plugin)
-{
-  GST_DEBUG_CATEGORY_INIT (colorspace_debug, "colorspace", 0,
-      "Colorspace Converter");
-  GST_DEBUG_CATEGORY_GET (colorspace_performance, "GST_PERFORMANCE");
-
-  return gst_element_register (plugin, "colorspace",
-      GST_RANK_NONE, GST_TYPE_CSP);
-}
-
-GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
-    GST_VERSION_MINOR,
-    "colorspace", "Colorspace conversion", plugin_init, VERSION, "LGPL", "", "")
diff --git a/gst/colorspace/gstcolorspace.h b/gst/colorspace/gstcolorspace.h
deleted file mode 100644 (file)
index 71245b8..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/* GStreamer
- * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
- * This file:
- * Copyright (C) 2003 Ronald Bultje <rbultje@ronald.bitfreak.net>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#ifndef __GST_COLORSPACE_H__
-#define __GST_COLORSPACE_H__
-
-#include <gst/gst.h>
-#include <gst/video/video.h>
-#include <gst/video/gstvideofilter.h>
-#include "colorspace.h"
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_CSP         (gst_csp_get_type())
-#define GST_CSP(obj)         (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_CSP,GstCsp))
-#define GST_CSP_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_CSP,GstCspClass))
-#define GST_IS_CSP(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_CSP))
-#define GST_IS_CSP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_CSP))
-
-typedef struct _GstCsp GstCsp;
-typedef struct _GstCspClass GstCspClass;
-
-/**
- * GstCsp:
- *
- * Opaque object data structure.
- */
-struct _GstCsp {
-  GstVideoFilter element;
-
-  gint width, height;
-  gboolean interlaced;
-  gfloat fps;
-
-  GstVideoFormat from_format;
-  ColorSpaceColorSpec from_spec;
-  GstVideoFormat to_format;
-  ColorSpaceColorSpec to_spec;
-
-  ColorspaceConvert *convert;
-  gboolean dither;
-};
-
-struct _GstCspClass
-{
-  GstVideoFilterClass parent_class;
-};
-
-G_END_DECLS
-
-#endif /* __GST_COLORSPACE_H__ */
diff --git a/gst/colorspace/gstcolorspaceorc-dist.c b/gst/colorspace/gstcolorspaceorc-dist.c
deleted file mode 100644 (file)
index 06d75b2..0000000
+++ /dev/null
@@ -1,19395 +0,0 @@
-
-/* autogenerated from gstcolorspaceorc.orc */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include <glib.h>
-
-#ifndef _ORC_INTEGER_TYPEDEFS_
-#define _ORC_INTEGER_TYPEDEFS_
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#include <stdint.h>
-typedef int8_t orc_int8;
-typedef int16_t orc_int16;
-typedef int32_t orc_int32;
-typedef int64_t orc_int64;
-typedef uint8_t orc_uint8;
-typedef uint16_t orc_uint16;
-typedef uint32_t orc_uint32;
-typedef uint64_t orc_uint64;
-#define ORC_UINT64_C(x) UINT64_C(x)
-#elif defined(_MSC_VER)
-typedef signed __int8 orc_int8;
-typedef signed __int16 orc_int16;
-typedef signed __int32 orc_int32;
-typedef signed __int64 orc_int64;
-typedef unsigned __int8 orc_uint8;
-typedef unsigned __int16 orc_uint16;
-typedef unsigned __int32 orc_uint32;
-typedef unsigned __int64 orc_uint64;
-#define ORC_UINT64_C(x) (x##Ui64)
-#define inline __inline
-#else
-#include <limits.h>
-typedef signed char orc_int8;
-typedef short orc_int16;
-typedef int orc_int32;
-typedef unsigned char orc_uint8;
-typedef unsigned short orc_uint16;
-typedef unsigned int orc_uint32;
-#if INT_MAX == LONG_MAX
-typedef long long orc_int64;
-typedef unsigned long long orc_uint64;
-#define ORC_UINT64_C(x) (x##ULL)
-#else
-typedef long orc_int64;
-typedef unsigned long orc_uint64;
-#define ORC_UINT64_C(x) (x##UL)
-#endif
-#endif
-typedef union
-{
-  orc_int16 i;
-  orc_int8 x2[2];
-} orc_union16;
-typedef union
-{
-  orc_int32 i;
-  float f;
-  orc_int16 x2[2];
-  orc_int8 x4[4];
-} orc_union32;
-typedef union
-{
-  orc_int64 i;
-  double f;
-  orc_int32 x2[2];
-  float x2f[2];
-  orc_int16 x4[4];
-} orc_union64;
-#endif
-#ifndef ORC_RESTRICT
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#define ORC_RESTRICT restrict
-#elif defined(__GNUC__) && __GNUC__ >= 4
-#define ORC_RESTRICT __restrict__
-#else
-#define ORC_RESTRICT
-#endif
-#endif
-
-#ifndef DISABLE_ORC
-#include <orc/orc.h>
-#endif
-void cogorc_memcpy_2d (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_downsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_downsample_horiz_cosite_3tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_downsample_420_jpeg (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_downsample_vert_halfsite_2tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_downsample_vert_cosite_3tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int n);
-void cogorc_downsample_vert_halfsite_4tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
-void cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_upsample_vert_avgub (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void orc_unpack_yuyv_y (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void orc_unpack_yuyv_u (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void orc_unpack_yuyv_v (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void orc_pack_yuyv (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void orc_unpack_uyvy_y (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void orc_unpack_uyvy_u (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void orc_unpack_uyvy_v (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void orc_pack_uyvy (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int p3, int n);
-void orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1,
-    int p2, int n);
-void orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1,
-    int p2, int n);
-void orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int p4, int n);
-void orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int n);
-void orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
-    int n);
-void orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
-    int n);
-void orc_pack_123x (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int n);
-void orc_pack_x123 (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int n);
-void cogorc_combine2_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1,
-    int p2, int n);
-void cogorc_convert_I420_UYVY (guint8 * ORC_RESTRICT d1,
-    guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
-    const guint8 * ORC_RESTRICT s4, int n);
-void cogorc_convert_I420_YUY2 (guint8 * ORC_RESTRICT d1,
-    guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
-    const guint8 * ORC_RESTRICT s4, int n);
-void cogorc_convert_I420_AYUV (guint8 * ORC_RESTRICT d1,
-    guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
-    const guint8 * ORC_RESTRICT s4, int n);
-void cogorc_convert_YUY2_I420 (guint8 * ORC_RESTRICT d1,
-    guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
-    guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_convert_UYVY_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_420_422 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1,
-    int s1_stride, int n, int m);
-void cogorc_planar_chroma_420_444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1,
-    int s1_stride, int n, int m);
-void cogorc_planar_chroma_422_444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_444_422 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_444_420 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
-void cogorc_planar_chroma_422_420 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
-void cogorc_convert_YUY2_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_UYVY_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_YUY2_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_UYVY_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_YUY2_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_UYVY_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_UYVY_I420 (guint8 * ORC_RESTRICT d1,
-    guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3,
-    guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_convert_AYUV_I420 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, guint8 * ORC_RESTRICT d4, int d4_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
-void cogorc_convert_AYUV_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_Y42B_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y42B_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y42B_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y444_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y444_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int n);
-void cogorc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4,
-    const guint8 * ORC_RESTRICT s5, int n);
-void cogorc_getline_I420 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int n);
-void cogorc_getline_YUV9 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int n);
-void cogorc_getline_YUY2 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_UYVY (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_YVYU (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_Y42B (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int n);
-void cogorc_getline_Y444 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int n);
-void cogorc_getline_Y800 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_Y16 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_BGRA (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_ABGR (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_RGBA (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_NV12 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_getline_NV21 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_getline_A420 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
-void cogorc_putline_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_YUY2 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_YVYU (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_UYVY (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_Y42B (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_Y444 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_Y800 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_Y16 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_BGRA (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_ABGR (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_RGBA (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_NV12 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_NV21 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_A420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
-    const guint8 * ORC_RESTRICT s1, int n);
-
-
-/* begin Orc C target preamble */
-#define ORC_CLAMP(x,a,b) ((x)<(a) ? (a) : ((x)>(b) ? (b) : (x)))
-#define ORC_ABS(a) ((a)<0 ? -(a) : (a))
-#define ORC_MIN(a,b) ((a)<(b) ? (a) : (b))
-#define ORC_MAX(a,b) ((a)>(b) ? (a) : (b))
-#define ORC_SB_MAX 127
-#define ORC_SB_MIN (-1-ORC_SB_MAX)
-#define ORC_UB_MAX 255
-#define ORC_UB_MIN 0
-#define ORC_SW_MAX 32767
-#define ORC_SW_MIN (-1-ORC_SW_MAX)
-#define ORC_UW_MAX 65535
-#define ORC_UW_MIN 0
-#define ORC_SL_MAX 2147483647
-#define ORC_SL_MIN (-1-ORC_SL_MAX)
-#define ORC_UL_MAX 4294967295U
-#define ORC_UL_MIN 0
-#define ORC_CLAMP_SB(x) ORC_CLAMP(x,ORC_SB_MIN,ORC_SB_MAX)
-#define ORC_CLAMP_UB(x) ORC_CLAMP(x,ORC_UB_MIN,ORC_UB_MAX)
-#define ORC_CLAMP_SW(x) ORC_CLAMP(x,ORC_SW_MIN,ORC_SW_MAX)
-#define ORC_CLAMP_UW(x) ORC_CLAMP(x,ORC_UW_MIN,ORC_UW_MAX)
-#define ORC_CLAMP_SL(x) ORC_CLAMP(x,ORC_SL_MIN,ORC_SL_MAX)
-#define ORC_CLAMP_UL(x) ORC_CLAMP(x,ORC_UL_MIN,ORC_UL_MAX)
-#define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
-#define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
-#define ORC_SWAP_Q(x) ((((x)&ORC_UINT64_C(0xff))<<56) | (((x)&ORC_UINT64_C(0xff00))<<40) | (((x)&ORC_UINT64_C(0xff0000))<<24) | (((x)&ORC_UINT64_C(0xff000000))<<8) | (((x)&ORC_UINT64_C(0xff00000000))>>8) | (((x)&ORC_UINT64_C(0xff0000000000))>>24) | (((x)&ORC_UINT64_C(0xff000000000000))>>40) | (((x)&ORC_UINT64_C(0xff00000000000000))>>56))
-#define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
-#define ORC_DENORMAL(x) ((x) & ((((x)&0x7f800000) == 0) ? 0xff800000 : 0xffffffff))
-#define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
-#define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
-#define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
-#ifndef ORC_RESTRICT
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#define ORC_RESTRICT restrict
-#elif defined(__GNUC__) && __GNUC__ >= 4
-#define ORC_RESTRICT __restrict__
-#else
-#define ORC_RESTRICT
-#endif
-#endif
-/* end Orc C target preamble */
-
-
-
-/* cogorc_memcpy_2d */
-#ifdef DISABLE_ORC
-void
-cogorc_memcpy_2d (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var32;
-  orc_int8 var33;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var32 = ptr4[i];
-      /* 1: copyb */
-      var33 = var32;
-      /* 2: storeb */
-      ptr0[i] = var33;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_memcpy_2d (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var32;
-  orc_int8 var33;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var32 = ptr4[i];
-      /* 1: copyb */
-      var33 = var32;
-      /* 2: storeb */
-      ptr0[i] = var33;
-    }
-  }
-
-}
-
-void
-cogorc_memcpy_2d (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_memcpy_2d");
-      orc_program_set_backup_function (p, _backup_cogorc_memcpy_2d);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-
-      orc_program_append_2 (p, "copyb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_downsample_horiz_cosite_1tap */
-#ifdef DISABLE_ORC
-void
-cogorc_downsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var32;
-  orc_int8 var33;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union16 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var32 = ptr4[i];
-    /* 1: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var32.i;
-      var33 = _src.x2[0];
-    }
-    /* 2: storeb */
-    ptr0[i] = var33;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_downsample_horiz_cosite_1tap (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var32;
-  orc_int8 var33;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var32 = ptr4[i];
-    /* 1: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var32.i;
-      var33 = _src.x2[0];
-    }
-    /* 2: storeb */
-    ptr0[i] = var33;
-  }
-
-}
-
-void
-cogorc_downsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_downsample_horiz_cosite_1tap");
-      orc_program_set_backup_function (p,
-          _backup_cogorc_downsample_horiz_cosite_1tap);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 2, "s1");
-
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_downsample_horiz_cosite_3tap */
-#ifdef DISABLE_ORC
-void
-cogorc_downsample_horiz_cosite_3tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union16 *) s1;
-  ptr5 = (orc_union16 *) s2;
-
-  /* 9: loadpw */
-  var40.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
-  /* 13: loadpw */
-  var41.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var38 = ptr4[i];
-    /* 1: copyw */
-    var43.i = var38.i;
-    /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var44 = _src.x2[0];
-    }
-    /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var45 = _src.x2[1];
-    }
-    /* 4: loadw */
-    var39 = ptr5[i];
-    /* 5: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var39.i;
-      var46 = _src.x2[0];
-    }
-    /* 6: convubw */
-    var47.i = (orc_uint8) var44;
-    /* 7: convubw */
-    var48.i = (orc_uint8) var45;
-    /* 8: convubw */
-    var49.i = (orc_uint8) var46;
-    /* 10: mullw */
-    var50.i = (var48.i * var40.i) & 0xffff;
-    /* 11: addw */
-    var51.i = var47.i + var49.i;
-    /* 12: addw */
-    var52.i = var51.i + var50.i;
-    /* 14: addw */
-    var53.i = var52.i + var41.i;
-    /* 15: shrsw */
-    var54.i = var53.i >> 2;
-    /* 16: convsuswb */
-    var42 = ORC_CLAMP_UB (var54.i);
-    /* 17: storeb */
-    ptr0[i] = var42;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_downsample_horiz_cosite_3tap (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-  ptr5 = (orc_union16 *) ex->arrays[5];
-
-  /* 9: loadpw */
-  var40.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
-  /* 13: loadpw */
-  var41.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var38 = ptr4[i];
-    /* 1: copyw */
-    var43.i = var38.i;
-    /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var44 = _src.x2[0];
-    }
-    /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var45 = _src.x2[1];
-    }
-    /* 4: loadw */
-    var39 = ptr5[i];
-    /* 5: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var39.i;
-      var46 = _src.x2[0];
-    }
-    /* 6: convubw */
-    var47.i = (orc_uint8) var44;
-    /* 7: convubw */
-    var48.i = (orc_uint8) var45;
-    /* 8: convubw */
-    var49.i = (orc_uint8) var46;
-    /* 10: mullw */
-    var50.i = (var48.i * var40.i) & 0xffff;
-    /* 11: addw */
-    var51.i = var47.i + var49.i;
-    /* 12: addw */
-    var52.i = var51.i + var50.i;
-    /* 14: addw */
-    var53.i = var52.i + var41.i;
-    /* 15: shrsw */
-    var54.i = var53.i >> 2;
-    /* 16: convsuswb */
-    var42 = ORC_CLAMP_UB (var54.i);
-    /* 17: storeb */
-    ptr0[i] = var42;
-  }
-
-}
-
-void
-cogorc_downsample_horiz_cosite_3tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_downsample_horiz_cosite_3tap");
-      orc_program_set_backup_function (p,
-          _backup_cogorc_downsample_horiz_cosite_3tap);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 2, "s2");
-      orc_program_add_constant (p, 4, 0x00000002, "c1");
-      orc_program_add_temporary (p, 1, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-      orc_program_add_temporary (p, 2, "t5");
-      orc_program_add_temporary (p, 2, "t6");
-
-      orc_program_append_2 (p, "copyw", 0, ORC_VAR_T4, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T1, ORC_VAR_T4,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T2, ORC_VAR_T4,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T3, ORC_VAR_S2,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T4, ORC_VAR_T1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T4,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_downsample_420_jpeg */
-#ifdef DISABLE_ORC
-void
-cogorc_downsample_420_jpeg (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union16 *) s1;
-  ptr5 = (orc_union16 *) s2;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var37 = ptr4[i];
-    /* 1: copyw */
-    var40.i = var37.i;
-    /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.i;
-      var41 = _src.x2[0];
-    }
-    /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.i;
-      var42 = _src.x2[1];
-    }
-    /* 4: avgub */
-    var43 = ((orc_uint8) var41 + (orc_uint8) var42 + 1) >> 1;
-    /* 5: loadw */
-    var38 = ptr5[i];
-    /* 6: copyw */
-    var44.i = var38.i;
-    /* 7: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var44.i;
-      var45 = _src.x2[0];
-    }
-    /* 8: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var44.i;
-      var46 = _src.x2[1];
-    }
-    /* 9: avgub */
-    var47 = ((orc_uint8) var45 + (orc_uint8) var46 + 1) >> 1;
-    /* 10: avgub */
-    var39 = ((orc_uint8) var43 + (orc_uint8) var47 + 1) >> 1;
-    /* 11: storeb */
-    ptr0[i] = var39;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_downsample_420_jpeg (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-  ptr5 = (orc_union16 *) ex->arrays[5];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var37 = ptr4[i];
-    /* 1: copyw */
-    var40.i = var37.i;
-    /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.i;
-      var41 = _src.x2[0];
-    }
-    /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.i;
-      var42 = _src.x2[1];
-    }
-    /* 4: avgub */
-    var43 = ((orc_uint8) var41 + (orc_uint8) var42 + 1) >> 1;
-    /* 5: loadw */
-    var38 = ptr5[i];
-    /* 6: copyw */
-    var44.i = var38.i;
-    /* 7: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var44.i;
-      var45 = _src.x2[0];
-    }
-    /* 8: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var44.i;
-      var46 = _src.x2[1];
-    }
-    /* 9: avgub */
-    var47 = ((orc_uint8) var45 + (orc_uint8) var46 + 1) >> 1;
-    /* 10: avgub */
-    var39 = ((orc_uint8) var43 + (orc_uint8) var47 + 1) >> 1;
-    /* 11: storeb */
-    ptr0[i] = var39;
-  }
-
-}
-
-void
-cogorc_downsample_420_jpeg (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_downsample_420_jpeg");
-      orc_program_set_backup_function (p, _backup_cogorc_downsample_420_jpeg);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 2, "s2");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-      orc_program_add_temporary (p, 1, "t5");
-
-      orc_program_append_2 (p, "copyw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T3, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "copyw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T4, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T5, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T4,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_downsample_vert_halfsite_2tap */
-#ifdef DISABLE_ORC
-void
-cogorc_downsample_vert_halfsite_2tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var32;
-  orc_int8 var33;
-  orc_int8 var34;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var32 = ptr4[i];
-    /* 1: loadb */
-    var33 = ptr5[i];
-    /* 2: avgub */
-    var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_downsample_vert_halfsite_2tap (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var32;
-  orc_int8 var33;
-  orc_int8 var34;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var32 = ptr4[i];
-    /* 1: loadb */
-    var33 = ptr5[i];
-    /* 2: avgub */
-    var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-void
-cogorc_downsample_vert_halfsite_2tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_downsample_vert_halfsite_2tap");
-      orc_program_set_backup_function (p,
-          _backup_cogorc_downsample_vert_halfsite_2tap);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_downsample_vert_cosite_3tap */
-#ifdef DISABLE_ORC
-void
-cogorc_downsample_vert_cosite_3tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_int8 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-  /* 6: loadpw */
-  var38.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
-  /* 10: loadpw */
-  var39.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var35 = ptr4[i];
-    /* 1: convubw */
-    var41.i = (orc_uint8) var35;
-    /* 2: loadb */
-    var36 = ptr5[i];
-    /* 3: convubw */
-    var42.i = (orc_uint8) var36;
-    /* 4: loadb */
-    var37 = ptr6[i];
-    /* 5: convubw */
-    var43.i = (orc_uint8) var37;
-    /* 7: mullw */
-    var44.i = (var42.i * var38.i) & 0xffff;
-    /* 8: addw */
-    var45.i = var41.i + var43.i;
-    /* 9: addw */
-    var46.i = var45.i + var44.i;
-    /* 11: addw */
-    var47.i = var46.i + var39.i;
-    /* 12: shrsw */
-    var48.i = var47.i >> 2;
-    /* 13: convsuswb */
-    var40 = ORC_CLAMP_UB (var48.i);
-    /* 14: storeb */
-    ptr0[i] = var40;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_downsample_vert_cosite_3tap (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_int8 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-  /* 6: loadpw */
-  var38.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
-  /* 10: loadpw */
-  var39.i = (int) 0x00000002;   /* 2 or 9.88131e-324f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var35 = ptr4[i];
-    /* 1: convubw */
-    var41.i = (orc_uint8) var35;
-    /* 2: loadb */
-    var36 = ptr5[i];
-    /* 3: convubw */
-    var42.i = (orc_uint8) var36;
-    /* 4: loadb */
-    var37 = ptr6[i];
-    /* 5: convubw */
-    var43.i = (orc_uint8) var37;
-    /* 7: mullw */
-    var44.i = (var42.i * var38.i) & 0xffff;
-    /* 8: addw */
-    var45.i = var41.i + var43.i;
-    /* 9: addw */
-    var46.i = var45.i + var44.i;
-    /* 11: addw */
-    var47.i = var46.i + var39.i;
-    /* 12: shrsw */
-    var48.i = var47.i >> 2;
-    /* 13: convsuswb */
-    var40 = ORC_CLAMP_UB (var48.i);
-    /* 14: storeb */
-    ptr0[i] = var40;
-  }
-
-}
-
-void
-cogorc_downsample_vert_cosite_3tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_downsample_vert_cosite_3tap");
-      orc_program_set_backup_function (p,
-          _backup_cogorc_downsample_vert_cosite_3tap);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 4, 0x00000002, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_downsample_vert_halfsite_4tap */
-#ifdef DISABLE_ORC
-void
-cogorc_downsample_vert_halfsite_4tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-  ptr7 = (orc_int8 *) s4;
-
-  /* 9: loadpw */
-  var40.i = (int) 0x0000001a;   /* 26 or 1.28457e-322f */
-  /* 12: loadpw */
-  var41.i = (int) 0x00000006;   /* 6 or 2.96439e-323f */
-  /* 15: loadpw */
-  var42.i = (int) 0x00000020;   /* 32 or 1.58101e-322f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr4[i];
-    /* 1: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 2: loadb */
-    var37 = ptr5[i];
-    /* 3: convubw */
-    var45.i = (orc_uint8) var37;
-    /* 4: loadb */
-    var38 = ptr6[i];
-    /* 5: convubw */
-    var46.i = (orc_uint8) var38;
-    /* 6: loadb */
-    var39 = ptr7[i];
-    /* 7: convubw */
-    var47.i = (orc_uint8) var39;
-    /* 8: addw */
-    var48.i = var45.i + var46.i;
-    /* 10: mullw */
-    var49.i = (var48.i * var40.i) & 0xffff;
-    /* 11: addw */
-    var50.i = var44.i + var47.i;
-    /* 13: mullw */
-    var51.i = (var50.i * var41.i) & 0xffff;
-    /* 14: addw */
-    var52.i = var49.i + var51.i;
-    /* 16: addw */
-    var53.i = var52.i + var42.i;
-    /* 17: shrsw */
-    var54.i = var53.i >> 6;
-    /* 18: convsuswb */
-    var43 = ORC_CLAMP_UB (var54.i);
-    /* 19: storeb */
-    ptr0[i] = var43;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_downsample_vert_halfsite_4tap (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-  ptr7 = (orc_int8 *) ex->arrays[7];
-
-  /* 9: loadpw */
-  var40.i = (int) 0x0000001a;   /* 26 or 1.28457e-322f */
-  /* 12: loadpw */
-  var41.i = (int) 0x00000006;   /* 6 or 2.96439e-323f */
-  /* 15: loadpw */
-  var42.i = (int) 0x00000020;   /* 32 or 1.58101e-322f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr4[i];
-    /* 1: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 2: loadb */
-    var37 = ptr5[i];
-    /* 3: convubw */
-    var45.i = (orc_uint8) var37;
-    /* 4: loadb */
-    var38 = ptr6[i];
-    /* 5: convubw */
-    var46.i = (orc_uint8) var38;
-    /* 6: loadb */
-    var39 = ptr7[i];
-    /* 7: convubw */
-    var47.i = (orc_uint8) var39;
-    /* 8: addw */
-    var48.i = var45.i + var46.i;
-    /* 10: mullw */
-    var49.i = (var48.i * var40.i) & 0xffff;
-    /* 11: addw */
-    var50.i = var44.i + var47.i;
-    /* 13: mullw */
-    var51.i = (var50.i * var41.i) & 0xffff;
-    /* 14: addw */
-    var52.i = var49.i + var51.i;
-    /* 16: addw */
-    var53.i = var52.i + var42.i;
-    /* 17: shrsw */
-    var54.i = var53.i >> 6;
-    /* 18: convsuswb */
-    var43 = ORC_CLAMP_UB (var54.i);
-    /* 19: storeb */
-    ptr0[i] = var43;
-  }
-
-}
-
-void
-cogorc_downsample_vert_halfsite_4tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_downsample_vert_halfsite_4tap");
-      orc_program_set_backup_function (p,
-          _backup_cogorc_downsample_vert_halfsite_4tap);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_source (p, 1, "s4");
-      orc_program_add_constant (p, 4, 0x0000001a, "c1");
-      orc_program_add_constant (p, 4, 0x00000006, "c2");
-      orc_program_add_constant (p, 4, 0x00000020, "c3");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T4, ORC_VAR_S4, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T2,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->arrays[ORC_VAR_S4] = (void *) s4;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_upsample_horiz_cosite_1tap */
-#ifdef DISABLE_ORC
-void
-cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n)
-{
-  int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var33;
-  orc_union16 var34;
-  orc_int8 var35;
-
-  ptr0 = (orc_union16 *) d1;
-  ptr4 = (orc_int8 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var33 = ptr4[i];
-    /* 1: copyb */
-    var35 = var33;
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35;
-      _dest.x2[1] = var35;
-      var34.i = _dest.i;
-    }
-    /* 3: storew */
-    ptr0[i] = var34;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_upsample_horiz_cosite_1tap (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var33;
-  orc_union16 var34;
-  orc_int8 var35;
-
-  ptr0 = (orc_union16 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var33 = ptr4[i];
-    /* 1: copyb */
-    var35 = var33;
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35;
-      _dest.x2[1] = var35;
-      var34.i = _dest.i;
-    }
-    /* 3: storew */
-    ptr0[i] = var34;
-  }
-
-}
-
-void
-cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_upsample_horiz_cosite_1tap");
-      orc_program_set_backup_function (p,
-          _backup_cogorc_upsample_horiz_cosite_1tap);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_temporary (p, 1, "t1");
-
-      orc_program_append_2 (p, "copyb", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_upsample_horiz_cosite */
-#ifdef DISABLE_ORC
-void
-cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-
-  ptr0 = (orc_union16 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: copyb */
-    var37 = var34;
-    /* 2: loadb */
-    var35 = ptr5[i];
-    /* 3: avgub */
-    var38 = ((orc_uint8) var37 + (orc_uint8) var35 + 1) >> 1;
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37;
-      _dest.x2[1] = var38;
-      var36.i = _dest.i;
-    }
-    /* 5: storew */
-    ptr0[i] = var36;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_upsample_horiz_cosite (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-
-  ptr0 = (orc_union16 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: copyb */
-    var37 = var34;
-    /* 2: loadb */
-    var35 = ptr5[i];
-    /* 3: avgub */
-    var38 = ((orc_uint8) var37 + (orc_uint8) var35 + 1) >> 1;
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37;
-      _dest.x2[1] = var38;
-      var36.i = _dest.i;
-    }
-    /* 5: storew */
-    ptr0[i] = var36;
-  }
-
-}
-
-void
-cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_upsample_horiz_cosite");
-      orc_program_set_backup_function (p, _backup_cogorc_upsample_horiz_cosite);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_temporary (p, 1, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-
-      orc_program_append_2 (p, "copyb", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_upsample_vert_avgub */
-#ifdef DISABLE_ORC
-void
-cogorc_upsample_vert_avgub (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var32;
-  orc_int8 var33;
-  orc_int8 var34;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var32 = ptr4[i];
-    /* 1: loadb */
-    var33 = ptr5[i];
-    /* 2: avgub */
-    var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_upsample_vert_avgub (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var32;
-  orc_int8 var33;
-  orc_int8 var34;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var32 = ptr4[i];
-    /* 1: loadb */
-    var33 = ptr5[i];
-    /* 2: avgub */
-    var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-void
-cogorc_upsample_vert_avgub (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_upsample_vert_avgub");
-      orc_program_set_backup_function (p, _backup_cogorc_upsample_vert_avgub);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_unpack_yuyv_y */
-#ifdef DISABLE_ORC
-void
-orc_unpack_yuyv_y (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var32;
-  orc_int8 var33;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union16 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var32 = ptr4[i];
-    /* 1: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var32.i;
-      var33 = _src.x2[0];
-    }
-    /* 2: storeb */
-    ptr0[i] = var33;
-  }
-
-}
-
-#else
-static void
-_backup_orc_unpack_yuyv_y (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var32;
-  orc_int8 var33;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var32 = ptr4[i];
-    /* 1: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var32.i;
-      var33 = _src.x2[0];
-    }
-    /* 2: storeb */
-    ptr0[i] = var33;
-  }
-
-}
-
-void
-orc_unpack_yuyv_y (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_unpack_yuyv_y");
-      orc_program_set_backup_function (p, _backup_orc_unpack_yuyv_y);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 2, "s1");
-
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_unpack_yuyv_u */
-#ifdef DISABLE_ORC
-void
-orc_unpack_yuyv_u (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-#else
-static void
-_backup_orc_unpack_yuyv_u (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-void
-orc_unpack_yuyv_u (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_unpack_yuyv_u");
-      orc_program_set_backup_function (p, _backup_orc_unpack_yuyv_u);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_unpack_yuyv_v */
-#ifdef DISABLE_ORC
-void
-orc_unpack_yuyv_v (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select1lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[1];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-#else
-static void
-_backup_orc_unpack_yuyv_v (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select1lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[1];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-void
-orc_unpack_yuyv_v (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_unpack_yuyv_v");
-      orc_program_set_backup_function (p, _backup_orc_unpack_yuyv_v);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "select1lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_pack_yuyv */
-#ifdef DISABLE_ORC
-void
-orc_pack_yuyv (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_int8 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union16 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var37 = ptr4[i];
-    /* 1: copyw */
-    var41.i = var37.i;
-    /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var42 = _src.x2[0];
-    }
-    /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var43 = _src.x2[1];
-    }
-    /* 4: loadb */
-    var38 = ptr5[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var42;
-      _dest.x2[1] = var38;
-      var44.i = _dest.i;
-    }
-    /* 6: loadb */
-    var39 = ptr6[i];
-    /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var43;
-      _dest.x2[1] = var39;
-      var45.i = _dest.i;
-    }
-    /* 8: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var44.i;
-      _dest.x2[1] = var45.i;
-      var40.i = _dest.i;
-    }
-    /* 9: storel */
-    ptr0[i] = var40;
-  }
-
-}
-
-#else
-static void
-_backup_orc_pack_yuyv (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_int8 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var37 = ptr4[i];
-    /* 1: copyw */
-    var41.i = var37.i;
-    /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var42 = _src.x2[0];
-    }
-    /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var43 = _src.x2[1];
-    }
-    /* 4: loadb */
-    var38 = ptr5[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var42;
-      _dest.x2[1] = var38;
-      var44.i = _dest.i;
-    }
-    /* 6: loadb */
-    var39 = ptr6[i];
-    /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var43;
-      _dest.x2[1] = var39;
-      var45.i = _dest.i;
-    }
-    /* 8: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var44.i;
-      _dest.x2[1] = var45.i;
-      var40.i = _dest.i;
-    }
-    /* 9: storel */
-    ptr0[i] = var40;
-  }
-
-}
-
-void
-orc_pack_yuyv (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_pack_yuyv");
-      orc_program_set_backup_function (p, _backup_orc_pack_yuyv);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_temporary (p, 1, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-      orc_program_add_temporary (p, 2, "t5");
-
-      orc_program_append_2 (p, "copyw", 0, ORC_VAR_T5, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T1, ORC_VAR_T5,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T2, ORC_VAR_T5,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_S2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_S3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_unpack_uyvy_y */
-#ifdef DISABLE_ORC
-void
-orc_unpack_uyvy_y (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var32;
-  orc_int8 var33;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union16 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var32 = ptr4[i];
-    /* 1: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var32.i;
-      var33 = _src.x2[1];
-    }
-    /* 2: storeb */
-    ptr0[i] = var33;
-  }
-
-}
-
-#else
-static void
-_backup_orc_unpack_uyvy_y (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var32;
-  orc_int8 var33;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var32 = ptr4[i];
-    /* 1: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var32.i;
-      var33 = _src.x2[1];
-    }
-    /* 2: storeb */
-    ptr0[i] = var33;
-  }
-
-}
-
-void
-orc_unpack_uyvy_y (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_unpack_uyvy_y");
-      orc_program_set_backup_function (p, _backup_orc_unpack_uyvy_y);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 2, "s1");
-
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_unpack_uyvy_u */
-#ifdef DISABLE_ORC
-void
-orc_unpack_uyvy_u (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
-    /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[0];
-    }
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-#else
-static void
-_backup_orc_unpack_uyvy_u (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
-    /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[0];
-    }
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-void
-orc_unpack_uyvy_u (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_unpack_uyvy_u");
-      orc_program_set_backup_function (p, _backup_orc_unpack_uyvy_u);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_unpack_uyvy_v */
-#ifdef DISABLE_ORC
-void
-orc_unpack_uyvy_v (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select1lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[1];
-    }
-    /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[0];
-    }
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-#else
-static void
-_backup_orc_unpack_uyvy_v (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select1lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[1];
-    }
-    /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[0];
-    }
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-void
-orc_unpack_uyvy_v (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_unpack_uyvy_v");
-      orc_program_set_backup_function (p, _backup_orc_unpack_uyvy_v);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "select1lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_pack_uyvy */
-#ifdef DISABLE_ORC
-void
-orc_pack_uyvy (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_int8 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union16 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var37 = ptr4[i];
-    /* 1: copyw */
-    var41.i = var37.i;
-    /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var42 = _src.x2[0];
-    }
-    /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var43 = _src.x2[1];
-    }
-    /* 4: loadb */
-    var38 = ptr5[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var38;
-      _dest.x2[1] = var42;
-      var44.i = _dest.i;
-    }
-    /* 6: loadb */
-    var39 = ptr6[i];
-    /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var43;
-      var45.i = _dest.i;
-    }
-    /* 8: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var44.i;
-      _dest.x2[1] = var45.i;
-      var40.i = _dest.i;
-    }
-    /* 9: storel */
-    ptr0[i] = var40;
-  }
-
-}
-
-#else
-static void
-_backup_orc_pack_uyvy (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_int8 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var37 = ptr4[i];
-    /* 1: copyw */
-    var41.i = var37.i;
-    /* 2: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var42 = _src.x2[0];
-    }
-    /* 3: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.i;
-      var43 = _src.x2[1];
-    }
-    /* 4: loadb */
-    var38 = ptr5[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var38;
-      _dest.x2[1] = var42;
-      var44.i = _dest.i;
-    }
-    /* 6: loadb */
-    var39 = ptr6[i];
-    /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var43;
-      var45.i = _dest.i;
-    }
-    /* 8: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var44.i;
-      _dest.x2[1] = var45.i;
-      var40.i = _dest.i;
-    }
-    /* 9: storel */
-    ptr0[i] = var40;
-  }
-
-}
-
-void
-orc_pack_uyvy (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_pack_uyvy");
-      orc_program_set_backup_function (p, _backup_orc_pack_uyvy);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_temporary (p, 1, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-      orc_program_add_temporary (p, 2, "t5");
-
-      orc_program_append_2 (p, "copyw", 0, ORC_VAR_T5, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 0, ORC_VAR_T1, ORC_VAR_T5,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T2, ORC_VAR_T5,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T3, ORC_VAR_S2, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T4, ORC_VAR_S3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_matrix2_u8 */
-#ifdef DISABLE_ORC
-void
-orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int p3, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-
-  /* 2: loadpw */
-  var35.i = p1;
-  /* 6: loadpw */
-  var37.i = p2;
-  /* 9: loadpw */
-  var38.i = p3;
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var40.i = (orc_uint8) var34;
-    /* 3: mullw */
-    var41.i = (var40.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
-    /* 5: convubw */
-    var42.i = (orc_uint8) var36;
-    /* 7: mullw */
-    var43.i = (var42.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var44.i = var41.i + var43.i;
-    /* 10: addw */
-    var45.i = var44.i + var38.i;
-    /* 11: shrsw */
-    var46.i = var45.i >> 6;
-    /* 12: convsuswb */
-    var39 = ORC_CLAMP_UB (var46.i);
-    /* 13: storeb */
-    ptr0[i] = var39;
-  }
-
-}
-
-#else
-static void
-_backup_orc_matrix2_u8 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-
-  /* 2: loadpw */
-  var35.i = ex->params[24];
-  /* 6: loadpw */
-  var37.i = ex->params[25];
-  /* 9: loadpw */
-  var38.i = ex->params[26];
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var40.i = (orc_uint8) var34;
-    /* 3: mullw */
-    var41.i = (var40.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
-    /* 5: convubw */
-    var42.i = (orc_uint8) var36;
-    /* 7: mullw */
-    var43.i = (var42.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var44.i = var41.i + var43.i;
-    /* 10: addw */
-    var45.i = var44.i + var38.i;
-    /* 11: shrsw */
-    var46.i = var45.i >> 6;
-    /* 12: convsuswb */
-    var39 = ORC_CLAMP_UB (var46.i);
-    /* 13: storeb */
-    ptr0[i] = var39;
-  }
-
-}
-
-void
-orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int p3, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_matrix2_u8");
-      orc_program_set_backup_function (p, _backup_orc_matrix2_u8);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_constant (p, 4, 0x00000006, "c1");
-      orc_program_add_parameter (p, 2, "p1");
-      orc_program_add_parameter (p, 2, "p2");
-      orc_program_add_parameter (p, 2, "p3");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->params[ORC_VAR_P1] = p1;
-  ex->params[ORC_VAR_P2] = p2;
-  ex->params[ORC_VAR_P3] = p3;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_matrix2_11_u8 */
-#ifdef DISABLE_ORC
-void
-orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-
-  /* 2: loadpw */
-  var37.i = (int) 0x00000010;   /* 16 or 7.90505e-323f */
-  /* 4: loadpw */
-  var38.i = p1;
-  /* 8: loadpw */
-  var40.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-  /* 10: loadpw */
-  var41.i = p2;
-  /* 13: loadpw */
-  var42.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr4[i];
-    /* 1: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 3: subw */
-    var45.i = var44.i - var37.i;
-    /* 5: mullw */
-    var46.i = (var45.i * var38.i) & 0xffff;
-    /* 6: loadb */
-    var39 = ptr5[i];
-    /* 7: convubw */
-    var47.i = (orc_uint8) var39;
-    /* 9: subw */
-    var48.i = var47.i - var40.i;
-    /* 11: mullw */
-    var49.i = (var48.i * var41.i) & 0xffff;
-    /* 12: addw */
-    var50.i = var46.i + var49.i;
-    /* 14: addw */
-    var51.i = var50.i + var42.i;
-    /* 15: shrsw */
-    var52.i = var51.i >> 8;
-    /* 16: addw */
-    var53.i = var52.i + var45.i;
-    /* 17: addw */
-    var54.i = var53.i + var48.i;
-    /* 18: convsuswb */
-    var43 = ORC_CLAMP_UB (var54.i);
-    /* 19: storeb */
-    ptr0[i] = var43;
-  }
-
-}
-
-#else
-static void
-_backup_orc_matrix2_11_u8 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-
-  /* 2: loadpw */
-  var37.i = (int) 0x00000010;   /* 16 or 7.90505e-323f */
-  /* 4: loadpw */
-  var38.i = ex->params[24];
-  /* 8: loadpw */
-  var40.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-  /* 10: loadpw */
-  var41.i = ex->params[25];
-  /* 13: loadpw */
-  var42.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr4[i];
-    /* 1: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 3: subw */
-    var45.i = var44.i - var37.i;
-    /* 5: mullw */
-    var46.i = (var45.i * var38.i) & 0xffff;
-    /* 6: loadb */
-    var39 = ptr5[i];
-    /* 7: convubw */
-    var47.i = (orc_uint8) var39;
-    /* 9: subw */
-    var48.i = var47.i - var40.i;
-    /* 11: mullw */
-    var49.i = (var48.i * var41.i) & 0xffff;
-    /* 12: addw */
-    var50.i = var46.i + var49.i;
-    /* 14: addw */
-    var51.i = var50.i + var42.i;
-    /* 15: shrsw */
-    var52.i = var51.i >> 8;
-    /* 16: addw */
-    var53.i = var52.i + var45.i;
-    /* 17: addw */
-    var54.i = var53.i + var48.i;
-    /* 18: convsuswb */
-    var43 = ORC_CLAMP_UB (var54.i);
-    /* 19: storeb */
-    ptr0[i] = var43;
-  }
-
-}
-
-void
-orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_matrix2_11_u8");
-      orc_program_set_backup_function (p, _backup_orc_matrix2_11_u8);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_constant (p, 4, 0x00000010, "c1");
-      orc_program_add_constant (p, 4, 0x00000080, "c2");
-      orc_program_add_constant (p, 4, 0x00000008, "c3");
-      orc_program_add_parameter (p, 2, "p1");
-      orc_program_add_parameter (p, 2, "p2");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->params[ORC_VAR_P1] = p1;
-  ex->params[ORC_VAR_P2] = p2;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_matrix2_12_u8 */
-#ifdef DISABLE_ORC
-void
-orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union16 var55;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-
-  /* 2: loadpw */
-  var37.i = (int) 0x00000010;   /* 16 or 7.90505e-323f */
-  /* 4: loadpw */
-  var38.i = p1;
-  /* 8: loadpw */
-  var40.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-  /* 10: loadpw */
-  var41.i = p2;
-  /* 13: loadpw */
-  var42.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr4[i];
-    /* 1: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 3: subw */
-    var45.i = var44.i - var37.i;
-    /* 5: mullw */
-    var46.i = (var45.i * var38.i) & 0xffff;
-    /* 6: loadb */
-    var39 = ptr5[i];
-    /* 7: convubw */
-    var47.i = (orc_uint8) var39;
-    /* 9: subw */
-    var48.i = var47.i - var40.i;
-    /* 11: mullw */
-    var49.i = (var48.i * var41.i) & 0xffff;
-    /* 12: addw */
-    var50.i = var46.i + var49.i;
-    /* 14: addw */
-    var51.i = var50.i + var42.i;
-    /* 15: shrsw */
-    var52.i = var51.i >> 8;
-    /* 16: addw */
-    var53.i = var52.i + var45.i;
-    /* 17: addw */
-    var54.i = var53.i + var48.i;
-    /* 18: addw */
-    var55.i = var54.i + var48.i;
-    /* 19: convsuswb */
-    var43 = ORC_CLAMP_UB (var55.i);
-    /* 20: storeb */
-    ptr0[i] = var43;
-  }
-
-}
-
-#else
-static void
-_backup_orc_matrix2_12_u8 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union16 var55;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-
-  /* 2: loadpw */
-  var37.i = (int) 0x00000010;   /* 16 or 7.90505e-323f */
-  /* 4: loadpw */
-  var38.i = ex->params[24];
-  /* 8: loadpw */
-  var40.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-  /* 10: loadpw */
-  var41.i = ex->params[25];
-  /* 13: loadpw */
-  var42.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr4[i];
-    /* 1: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 3: subw */
-    var45.i = var44.i - var37.i;
-    /* 5: mullw */
-    var46.i = (var45.i * var38.i) & 0xffff;
-    /* 6: loadb */
-    var39 = ptr5[i];
-    /* 7: convubw */
-    var47.i = (orc_uint8) var39;
-    /* 9: subw */
-    var48.i = var47.i - var40.i;
-    /* 11: mullw */
-    var49.i = (var48.i * var41.i) & 0xffff;
-    /* 12: addw */
-    var50.i = var46.i + var49.i;
-    /* 14: addw */
-    var51.i = var50.i + var42.i;
-    /* 15: shrsw */
-    var52.i = var51.i >> 8;
-    /* 16: addw */
-    var53.i = var52.i + var45.i;
-    /* 17: addw */
-    var54.i = var53.i + var48.i;
-    /* 18: addw */
-    var55.i = var54.i + var48.i;
-    /* 19: convsuswb */
-    var43 = ORC_CLAMP_UB (var55.i);
-    /* 20: storeb */
-    ptr0[i] = var43;
-  }
-
-}
-
-void
-orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_matrix2_12_u8");
-      orc_program_set_backup_function (p, _backup_orc_matrix2_12_u8);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_constant (p, 4, 0x00000010, "c1");
-      orc_program_add_constant (p, 4, 0x00000080, "c2");
-      orc_program_add_constant (p, 4, 0x00000008, "c3");
-      orc_program_add_parameter (p, 2, "p1");
-      orc_program_add_parameter (p, 2, "p2");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->params[ORC_VAR_P1] = p1;
-  ex->params[ORC_VAR_P2] = p2;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_matrix3_u8 */
-#ifdef DISABLE_ORC
-void
-orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int p4, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-  /* 2: loadpw */
-  var35.i = p1;
-  /* 6: loadpw */
-  var37.i = p2;
-  /* 11: loadpw */
-  var39.i = p3;
-  /* 14: loadpw */
-  var40.i = p4;
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var42.i = (orc_uint8) var34;
-    /* 3: mullw */
-    var43.i = (var42.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
-    /* 5: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 7: mullw */
-    var45.i = (var44.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var46.i = var43.i + var45.i;
-    /* 9: loadb */
-    var38 = ptr6[i];
-    /* 10: convubw */
-    var47.i = (orc_uint8) var38;
-    /* 12: mullw */
-    var48.i = (var47.i * var39.i) & 0xffff;
-    /* 13: addw */
-    var49.i = var46.i + var48.i;
-    /* 15: addw */
-    var50.i = var49.i + var40.i;
-    /* 16: shrsw */
-    var51.i = var50.i >> 6;
-    /* 17: convsuswb */
-    var41 = ORC_CLAMP_UB (var51.i);
-    /* 18: storeb */
-    ptr0[i] = var41;
-  }
-
-}
-
-#else
-static void
-_backup_orc_matrix3_u8 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-  /* 2: loadpw */
-  var35.i = ex->params[24];
-  /* 6: loadpw */
-  var37.i = ex->params[25];
-  /* 11: loadpw */
-  var39.i = ex->params[26];
-  /* 14: loadpw */
-  var40.i = ex->params[27];
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var42.i = (orc_uint8) var34;
-    /* 3: mullw */
-    var43.i = (var42.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
-    /* 5: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 7: mullw */
-    var45.i = (var44.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var46.i = var43.i + var45.i;
-    /* 9: loadb */
-    var38 = ptr6[i];
-    /* 10: convubw */
-    var47.i = (orc_uint8) var38;
-    /* 12: mullw */
-    var48.i = (var47.i * var39.i) & 0xffff;
-    /* 13: addw */
-    var49.i = var46.i + var48.i;
-    /* 15: addw */
-    var50.i = var49.i + var40.i;
-    /* 16: shrsw */
-    var51.i = var50.i >> 6;
-    /* 17: convsuswb */
-    var41 = ORC_CLAMP_UB (var51.i);
-    /* 18: storeb */
-    ptr0[i] = var41;
-  }
-
-}
-
-void
-orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int p4, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_matrix3_u8");
-      orc_program_set_backup_function (p, _backup_orc_matrix3_u8);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 4, 0x00000006, "c1");
-      orc_program_add_parameter (p, 2, "p1");
-      orc_program_add_parameter (p, 2, "p2");
-      orc_program_add_parameter (p, 2, "p3");
-      orc_program_add_parameter (p, 2, "p4");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->params[ORC_VAR_P1] = p1;
-  ex->params[ORC_VAR_P2] = p2;
-  ex->params[ORC_VAR_P3] = p3;
-  ex->params[ORC_VAR_P4] = p4;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_matrix3_100_u8 */
-#ifdef DISABLE_ORC
-void
-orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_int8 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union16 var55;
-  orc_union16 var56;
-  orc_union16 var57;
-  orc_union16 var58;
-  orc_union16 var59;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-  /* 2: loadpw */
-  var36.i = (int) 0x00000010;   /* 16 or 7.90505e-323f */
-  /* 4: loadpw */
-  var37.i = p1;
-  /* 8: loadpw */
-  var39.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-  /* 10: loadpw */
-  var40.i = p2;
-  /* 15: loadpw */
-  var42.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-  /* 17: loadpw */
-  var43.i = p3;
-  /* 20: loadpw */
-  var44.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var35 = ptr4[i];
-    /* 1: convubw */
-    var46.i = (orc_uint8) var35;
-    /* 3: subw */
-    var47.i = var46.i - var36.i;
-    /* 5: mullw */
-    var48.i = (var47.i * var37.i) & 0xffff;
-    /* 6: loadb */
-    var38 = ptr5[i];
-    /* 7: convubw */
-    var49.i = (orc_uint8) var38;
-    /* 9: subw */
-    var50.i = var49.i - var39.i;
-    /* 11: mullw */
-    var51.i = (var50.i * var40.i) & 0xffff;
-    /* 12: addw */
-    var52.i = var48.i + var51.i;
-    /* 13: loadb */
-    var41 = ptr6[i];
-    /* 14: convubw */
-    var53.i = (orc_uint8) var41;
-    /* 16: subw */
-    var54.i = var53.i - var42.i;
-    /* 18: mullw */
-    var55.i = (var54.i * var43.i) & 0xffff;
-    /* 19: addw */
-    var56.i = var52.i + var55.i;
-    /* 21: addw */
-    var57.i = var56.i + var44.i;
-    /* 22: shrsw */
-    var58.i = var57.i >> 8;
-    /* 23: addw */
-    var59.i = var58.i + var47.i;
-    /* 24: convsuswb */
-    var45 = ORC_CLAMP_UB (var59.i);
-    /* 25: storeb */
-    ptr0[i] = var45;
-  }
-
-}
-
-#else
-static void
-_backup_orc_matrix3_100_u8 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_int8 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union16 var55;
-  orc_union16 var56;
-  orc_union16 var57;
-  orc_union16 var58;
-  orc_union16 var59;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-  /* 2: loadpw */
-  var36.i = (int) 0x00000010;   /* 16 or 7.90505e-323f */
-  /* 4: loadpw */
-  var37.i = ex->params[24];
-  /* 8: loadpw */
-  var39.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-  /* 10: loadpw */
-  var40.i = ex->params[25];
-  /* 15: loadpw */
-  var42.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-  /* 17: loadpw */
-  var43.i = ex->params[26];
-  /* 20: loadpw */
-  var44.i = (int) 0x00000080;   /* 128 or 6.32404e-322f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var35 = ptr4[i];
-    /* 1: convubw */
-    var46.i = (orc_uint8) var35;
-    /* 3: subw */
-    var47.i = var46.i - var36.i;
-    /* 5: mullw */
-    var48.i = (var47.i * var37.i) & 0xffff;
-    /* 6: loadb */
-    var38 = ptr5[i];
-    /* 7: convubw */
-    var49.i = (orc_uint8) var38;
-    /* 9: subw */
-    var50.i = var49.i - var39.i;
-    /* 11: mullw */
-    var51.i = (var50.i * var40.i) & 0xffff;
-    /* 12: addw */
-    var52.i = var48.i + var51.i;
-    /* 13: loadb */
-    var41 = ptr6[i];
-    /* 14: convubw */
-    var53.i = (orc_uint8) var41;
-    /* 16: subw */
-    var54.i = var53.i - var42.i;
-    /* 18: mullw */
-    var55.i = (var54.i * var43.i) & 0xffff;
-    /* 19: addw */
-    var56.i = var52.i + var55.i;
-    /* 21: addw */
-    var57.i = var56.i + var44.i;
-    /* 22: shrsw */
-    var58.i = var57.i >> 8;
-    /* 23: addw */
-    var59.i = var58.i + var47.i;
-    /* 24: convsuswb */
-    var45 = ORC_CLAMP_UB (var59.i);
-    /* 25: storeb */
-    ptr0[i] = var45;
-  }
-
-}
-
-void
-orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_matrix3_100_u8");
-      orc_program_set_backup_function (p, _backup_orc_matrix3_100_u8);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 4, 0x00000010, "c1");
-      orc_program_add_constant (p, 4, 0x00000080, "c2");
-      orc_program_add_constant (p, 4, 0x00000008, "c3");
-      orc_program_add_parameter (p, 2, "p1");
-      orc_program_add_parameter (p, 2, "p2");
-      orc_program_add_parameter (p, 2, "p3");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->params[ORC_VAR_P1] = p1;
-  ex->params[ORC_VAR_P2] = p2;
-  ex->params[ORC_VAR_P3] = p3;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_matrix3_100_offset_u8 */
-#ifdef DISABLE_ORC
-void
-orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
-    int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-  /* 2: loadpw */
-  var36.i = p1;
-  /* 6: loadpw */
-  var38.i = p2;
-  /* 11: loadpw */
-  var40.i = p3;
-  /* 14: loadpw */
-  var41.i = p4;
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var35 = ptr4[i];
-    /* 1: convubw */
-    var43.i = (orc_uint8) var35;
-    /* 3: mullw */
-    var44.i = (var43.i * var36.i) & 0xffff;
-    /* 4: loadb */
-    var37 = ptr5[i];
-    /* 5: convubw */
-    var45.i = (orc_uint8) var37;
-    /* 7: mullw */
-    var46.i = (var45.i * var38.i) & 0xffff;
-    /* 8: addw */
-    var47.i = var44.i + var46.i;
-    /* 9: loadb */
-    var39 = ptr6[i];
-    /* 10: convubw */
-    var48.i = (orc_uint8) var39;
-    /* 12: mullw */
-    var49.i = (var48.i * var40.i) & 0xffff;
-    /* 13: addw */
-    var50.i = var47.i + var49.i;
-    /* 15: addw */
-    var51.i = var50.i + var41.i;
-    /* 16: shrsw */
-    var52.i = var51.i >> p5;
-    /* 17: addw */
-    var53.i = var52.i + var43.i;
-    /* 18: convsuswb */
-    var42 = ORC_CLAMP_UB (var53.i);
-    /* 19: storeb */
-    ptr0[i] = var42;
-  }
-
-}
-
-#else
-static void
-_backup_orc_matrix3_100_offset_u8 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_int8 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-  /* 2: loadpw */
-  var36.i = ex->params[24];
-  /* 6: loadpw */
-  var38.i = ex->params[25];
-  /* 11: loadpw */
-  var40.i = ex->params[26];
-  /* 14: loadpw */
-  var41.i = ex->params[27];
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var35 = ptr4[i];
-    /* 1: convubw */
-    var43.i = (orc_uint8) var35;
-    /* 3: mullw */
-    var44.i = (var43.i * var36.i) & 0xffff;
-    /* 4: loadb */
-    var37 = ptr5[i];
-    /* 5: convubw */
-    var45.i = (orc_uint8) var37;
-    /* 7: mullw */
-    var46.i = (var45.i * var38.i) & 0xffff;
-    /* 8: addw */
-    var47.i = var44.i + var46.i;
-    /* 9: loadb */
-    var39 = ptr6[i];
-    /* 10: convubw */
-    var48.i = (orc_uint8) var39;
-    /* 12: mullw */
-    var49.i = (var48.i * var40.i) & 0xffff;
-    /* 13: addw */
-    var50.i = var47.i + var49.i;
-    /* 15: addw */
-    var51.i = var50.i + var41.i;
-    /* 16: shrsw */
-    var52.i = var51.i >> ex->params[28];
-    /* 17: addw */
-    var53.i = var52.i + var43.i;
-    /* 18: convsuswb */
-    var42 = ORC_CLAMP_UB (var53.i);
-    /* 19: storeb */
-    ptr0[i] = var42;
-  }
-
-}
-
-void
-orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_matrix3_100_offset_u8");
-      orc_program_set_backup_function (p, _backup_orc_matrix3_100_offset_u8);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_parameter (p, 2, "p1");
-      orc_program_add_parameter (p, 2, "p2");
-      orc_program_add_parameter (p, 2, "p3");
-      orc_program_add_parameter (p, 2, "p4");
-      orc_program_add_parameter (p, 2, "p5");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->params[ORC_VAR_P1] = p1;
-  ex->params[ORC_VAR_P2] = p2;
-  ex->params[ORC_VAR_P3] = p3;
-  ex->params[ORC_VAR_P4] = p4;
-  ex->params[ORC_VAR_P5] = p5;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_matrix3_000_u8 */
-#ifdef DISABLE_ORC
-void
-orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int p4, int p5, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-  /* 2: loadpw */
-  var35.i = p1;
-  /* 6: loadpw */
-  var37.i = p2;
-  /* 11: loadpw */
-  var39.i = p3;
-  /* 14: loadpw */
-  var40.i = p4;
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var42.i = (orc_uint8) var34;
-    /* 3: mullw */
-    var43.i = (var42.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
-    /* 5: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 7: mullw */
-    var45.i = (var44.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var46.i = var43.i + var45.i;
-    /* 9: loadb */
-    var38 = ptr6[i];
-    /* 10: convubw */
-    var47.i = (orc_uint8) var38;
-    /* 12: mullw */
-    var48.i = (var47.i * var39.i) & 0xffff;
-    /* 13: addw */
-    var49.i = var46.i + var48.i;
-    /* 15: addw */
-    var50.i = var49.i + var40.i;
-    /* 16: shrsw */
-    var51.i = var50.i >> p5;
-    /* 17: convwb */
-    var41 = var51.i;
-    /* 18: storeb */
-    ptr0[i] = var41;
-  }
-
-}
-
-#else
-static void
-_backup_orc_matrix3_000_u8 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_union16 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-  /* 2: loadpw */
-  var35.i = ex->params[24];
-  /* 6: loadpw */
-  var37.i = ex->params[25];
-  /* 11: loadpw */
-  var39.i = ex->params[26];
-  /* 14: loadpw */
-  var40.i = ex->params[27];
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var42.i = (orc_uint8) var34;
-    /* 3: mullw */
-    var43.i = (var42.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
-    /* 5: convubw */
-    var44.i = (orc_uint8) var36;
-    /* 7: mullw */
-    var45.i = (var44.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var46.i = var43.i + var45.i;
-    /* 9: loadb */
-    var38 = ptr6[i];
-    /* 10: convubw */
-    var47.i = (orc_uint8) var38;
-    /* 12: mullw */
-    var48.i = (var47.i * var39.i) & 0xffff;
-    /* 13: addw */
-    var49.i = var46.i + var48.i;
-    /* 15: addw */
-    var50.i = var49.i + var40.i;
-    /* 16: shrsw */
-    var51.i = var50.i >> ex->params[28];
-    /* 17: convwb */
-    var41 = var51.i;
-    /* 18: storeb */
-    ptr0[i] = var41;
-  }
-
-}
-
-void
-orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int p2, int p3, int p4, int p5, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_matrix3_000_u8");
-      orc_program_set_backup_function (p, _backup_orc_matrix3_000_u8);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_parameter (p, 2, "p1");
-      orc_program_add_parameter (p, 2, "p2");
-      orc_program_add_parameter (p, 2, "p3");
-      orc_program_add_parameter (p, 2, "p4");
-      orc_program_add_parameter (p, 2, "p5");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->params[ORC_VAR_P1] = p1;
-  ex->params[ORC_VAR_P2] = p2;
-  ex->params[ORC_VAR_P3] = p3;
-  ex->params[ORC_VAR_P4] = p4;
-  ex->params[ORC_VAR_P5] = p5;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_pack_123x */
-#ifdef DISABLE_ORC
-void
-orc_pack_123x (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-  /* 4: loadpb */
-  var37 = p1;
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: loadb */
-    var35 = ptr5[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var34;
-      _dest.x2[1] = var35;
-      var39.i = _dest.i;
-    }
-    /* 3: loadb */
-    var36 = ptr6[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var40.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var40.i;
-      var38.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_orc_pack_123x (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-  /* 4: loadpb */
-  var37 = ex->params[24];
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: loadb */
-    var35 = ptr5[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var34;
-      _dest.x2[1] = var35;
-      var39.i = _dest.i;
-    }
-    /* 3: loadb */
-    var36 = ptr6[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var40.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var40.i;
-      var38.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-orc_pack_123x (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_pack_123x");
-      orc_program_set_backup_function (p, _backup_orc_pack_123x);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_parameter (p, 1, "p1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_S2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_S3, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->params[ORC_VAR_P1] = p1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* orc_pack_x123 */
-#ifdef DISABLE_ORC
-void
-orc_pack_x123 (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-  /* 0: loadpb */
-  var34 = p1;
-
-  for (i = 0; i < n; i++) {
-    /* 1: loadb */
-    var35 = ptr4[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var34;
-      _dest.x2[1] = var35;
-      var39.i = _dest.i;
-    }
-    /* 3: loadb */
-    var36 = ptr5[i];
-    /* 4: loadb */
-    var37 = ptr6[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var40.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var40.i;
-      var38.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_orc_pack_x123 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-  /* 0: loadpb */
-  var34 = ex->params[24];
-
-  for (i = 0; i < n; i++) {
-    /* 1: loadb */
-    var35 = ptr4[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var34;
-      _dest.x2[1] = var35;
-      var39.i = _dest.i;
-    }
-    /* 3: loadb */
-    var36 = ptr5[i];
-    /* 4: loadb */
-    var37 = ptr6[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var40.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var40.i;
-      var38.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-orc_pack_x123 (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "orc_pack_x123");
-      orc_program_set_backup_function (p, _backup_orc_pack_x123);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_parameter (p, 1, "p1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_P1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->params[ORC_VAR_P1] = p1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_combine2_u8 */
-#ifdef DISABLE_ORC
-void
-cogorc_combine2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-
-  /* 2: loadpw */
-  var35.i = p1;
-  /* 6: loadpw */
-  var37.i = p2;
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var39.i = (orc_uint8) var34;
-    /* 3: mullw */
-    var40.i = (var39.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
-    /* 5: convubw */
-    var41.i = (orc_uint8) var36;
-    /* 7: mullw */
-    var42.i = (var41.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var43.i = var40.i + var42.i;
-    /* 9: shruw */
-    var44.i = ((orc_uint16) var43.i) >> 8;
-    /* 10: convsuswb */
-    var38 = ORC_CLAMP_UB (var44.i);
-    /* 11: storeb */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_combine2_u8 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-
-  /* 2: loadpw */
-  var35.i = ex->params[24];
-  /* 6: loadpw */
-  var37.i = ex->params[25];
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr4[i];
-    /* 1: convubw */
-    var39.i = (orc_uint8) var34;
-    /* 3: mullw */
-    var40.i = (var39.i * var35.i) & 0xffff;
-    /* 4: loadb */
-    var36 = ptr5[i];
-    /* 5: convubw */
-    var41.i = (orc_uint8) var36;
-    /* 7: mullw */
-    var42.i = (var41.i * var37.i) & 0xffff;
-    /* 8: addw */
-    var43.i = var40.i + var42.i;
-    /* 9: shruw */
-    var44.i = ((orc_uint16) var43.i) >> 8;
-    /* 10: convsuswb */
-    var38 = ORC_CLAMP_UB (var44.i);
-    /* 11: storeb */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-cogorc_combine2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int p1, int p2, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_combine2_u8");
-      orc_program_set_backup_function (p, _backup_cogorc_combine2_u8);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_constant (p, 4, 0x00000008, "c1");
-      orc_program_add_parameter (p, 2, "p1");
-      orc_program_add_parameter (p, 2, "p2");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_P1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_P2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shruw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->params[ORC_VAR_P1] = p1;
-  ex->params[ORC_VAR_P2] = p2;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_I420_UYVY */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_I420_UYVY (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  orc_union32 *ORC_RESTRICT ptr1;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr1 = (orc_union32 *) d2;
-  ptr4 = (orc_union16 *) s1;
-  ptr5 = (orc_union16 *) s2;
-  ptr6 = (orc_int8 *) s3;
-  ptr7 = (orc_int8 *) s4;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var33 = ptr6[i];
-    /* 1: loadb */
-    var34 = ptr7[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var33;
-      _dest.x2[1] = var34;
-      var39.i = _dest.i;
-    }
-    /* 3: loadw */
-    var35 = ptr4[i];
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[0];
-      _dest.x2[1] = var35.x2[0];
-      var36.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[1];
-      _dest.x2[1] = var35.x2[1];
-      var36.x2[1] = _dest.i;
-    }
-    /* 5: storel */
-    ptr0[i] = var36;
-    /* 6: loadw */
-    var37 = ptr5[i];
-    /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[0];
-      _dest.x2[1] = var37.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[1];
-      _dest.x2[1] = var37.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 8: storel */
-    ptr1[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_I420_UYVY (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  orc_union32 *ORC_RESTRICT ptr1;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr1 = (orc_union32 *) ex->arrays[1];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-  ptr5 = (orc_union16 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-  ptr7 = (orc_int8 *) ex->arrays[7];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var33 = ptr6[i];
-    /* 1: loadb */
-    var34 = ptr7[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var33;
-      _dest.x2[1] = var34;
-      var39.i = _dest.i;
-    }
-    /* 3: loadw */
-    var35 = ptr4[i];
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[0];
-      _dest.x2[1] = var35.x2[0];
-      var36.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[1];
-      _dest.x2[1] = var35.x2[1];
-      var36.x2[1] = _dest.i;
-    }
-    /* 5: storel */
-    ptr0[i] = var36;
-    /* 6: loadw */
-    var37 = ptr5[i];
-    /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[0];
-      _dest.x2[1] = var37.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39.x2[1];
-      _dest.x2[1] = var37.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 8: storel */
-    ptr1[i] = var38;
-  }
-
-}
-
-void
-cogorc_convert_I420_UYVY (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_convert_I420_UYVY");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_I420_UYVY);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_destination (p, 4, "d2");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 2, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_source (p, 1, "s4");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S3, ORC_VAR_S4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D2, ORC_VAR_T1, ORC_VAR_S2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->arrays[ORC_VAR_S4] = (void *) s4;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_I420_YUY2 */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_I420_YUY2 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  orc_union32 *ORC_RESTRICT ptr1;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr1 = (orc_union32 *) d2;
-  ptr4 = (orc_union16 *) s1;
-  ptr5 = (orc_union16 *) s2;
-  ptr6 = (orc_int8 *) s3;
-  ptr7 = (orc_int8 *) s4;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var33 = ptr6[i];
-    /* 1: loadb */
-    var34 = ptr7[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var33;
-      _dest.x2[1] = var34;
-      var39.i = _dest.i;
-    }
-    /* 3: loadw */
-    var35 = ptr4[i];
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var36.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var36.x2[1] = _dest.i;
-    }
-    /* 5: storel */
-    ptr0[i] = var36;
-    /* 6: loadw */
-    var37 = ptr5[i];
-    /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 8: storel */
-    ptr1[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_I420_YUY2 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  orc_union32 *ORC_RESTRICT ptr1;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr1 = (orc_union32 *) ex->arrays[1];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-  ptr5 = (orc_union16 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-  ptr7 = (orc_int8 *) ex->arrays[7];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var33 = ptr6[i];
-    /* 1: loadb */
-    var34 = ptr7[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var33;
-      _dest.x2[1] = var34;
-      var39.i = _dest.i;
-    }
-    /* 3: loadw */
-    var35 = ptr4[i];
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var36.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var36.x2[1] = _dest.i;
-    }
-    /* 5: storel */
-    ptr0[i] = var36;
-    /* 6: loadw */
-    var37 = ptr5[i];
-    /* 7: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 8: storel */
-    ptr1[i] = var38;
-  }
-
-}
-
-void
-cogorc_convert_I420_YUY2 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_convert_I420_YUY2");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_I420_YUY2);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_destination (p, 4, "d2");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 2, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_source (p, 1, "s4");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S3, ORC_VAR_S4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D2, ORC_VAR_S2, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->arrays[ORC_VAR_S4] = (void *) s4;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_I420_AYUV */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_I420_AYUV (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  orc_union32 *ORC_RESTRICT ptr1;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_int8 var39;
-  orc_int8 var40;
-  orc_union32 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr1 = (orc_union32 *) d2;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-  ptr7 = (orc_int8 *) s4;
-
-  /* 3: loadpb */
-  var36 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-  /* 8: loadpb */
-  var39 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadupdb */
-    var42 = ptr6[i >> 1];
-    /* 1: loadupdb */
-    var43 = ptr7[i >> 1];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var42;
-      _dest.x2[1] = var43;
-      var44.i = _dest.i;
-    }
-    /* 4: loadb */
-    var37 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var45.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var45.i;
-      _dest.x2[1] = var44.i;
-      var38.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-    /* 9: loadb */
-    var40 = ptr5[i];
-    /* 10: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var40;
-      var46.i = _dest.i;
-    }
-    /* 11: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var46.i;
-      _dest.x2[1] = var44.i;
-      var41.i = _dest.i;
-    }
-    /* 12: storel */
-    ptr1[i] = var41;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_I420_AYUV (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  orc_union32 *ORC_RESTRICT ptr1;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_int8 var39;
-  orc_int8 var40;
-  orc_union32 var41;
-  orc_int8 var42;
-  orc_int8 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr1 = (orc_union32 *) ex->arrays[1];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-  ptr7 = (orc_int8 *) ex->arrays[7];
-
-  /* 3: loadpb */
-  var36 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-  /* 8: loadpb */
-  var39 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadupdb */
-    var42 = ptr6[i >> 1];
-    /* 1: loadupdb */
-    var43 = ptr7[i >> 1];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var42;
-      _dest.x2[1] = var43;
-      var44.i = _dest.i;
-    }
-    /* 4: loadb */
-    var37 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var45.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var45.i;
-      _dest.x2[1] = var44.i;
-      var38.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-    /* 9: loadb */
-    var40 = ptr5[i];
-    /* 10: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var40;
-      var46.i = _dest.i;
-    }
-    /* 11: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var46.i;
-      _dest.x2[1] = var44.i;
-      var41.i = _dest.i;
-    }
-    /* 12: storel */
-    ptr1[i] = var41;
-  }
-
-}
-
-void
-cogorc_convert_I420_AYUV (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_convert_I420_AYUV");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_I420_AYUV);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_destination (p, 4, "d2");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_source (p, 1, "s4");
-      orc_program_add_constant (p, 1, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-
-      orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T3, ORC_VAR_S3,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S4,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D2, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->arrays[ORC_VAR_S4] = (void *) s4;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_YUY2_I420 */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_YUY2_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  orc_int8 *ORC_RESTRICT ptr3;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  const orc_union32 *ORC_RESTRICT ptr5;
-  orc_union32 var35;
-  orc_union32 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-
-  ptr0 = (orc_union16 *) d1;
-  ptr1 = (orc_union16 *) d2;
-  ptr2 = (orc_int8 *) d3;
-  ptr3 = (orc_int8 *) d4;
-  ptr4 = (orc_union32 *) s1;
-  ptr5 = (orc_union32 *) s2;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var35 = ptr4[i];
-    /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: storew */
-    ptr0[i] = var40;
-    /* 3: loadl */
-    var36 = ptr5[i];
-    /* 4: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var41.x2[0] = _src.x2[1];
-      var42.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var41.x2[1] = _src.x2[1];
-      var42.x2[1] = _src.x2[0];
-    }
-    /* 5: storew */
-    ptr1[i] = var42;
-    /* 6: avgub */
-    var43.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var41.x2[0] + 1) >> 1;
-    var43.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var41.x2[1] + 1) >> 1;
-    /* 7: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var37 = _src.x2[1];
-      var38 = _src.x2[0];
-    }
-    /* 8: storeb */
-    ptr3[i] = var37;
-    /* 9: storeb */
-    ptr2[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_YUY2_I420 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  orc_int8 *ORC_RESTRICT ptr3;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  const orc_union32 *ORC_RESTRICT ptr5;
-  orc_union32 var35;
-  orc_union32 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-
-  ptr0 = (orc_union16 *) ex->arrays[0];
-  ptr1 = (orc_union16 *) ex->arrays[1];
-  ptr2 = (orc_int8 *) ex->arrays[2];
-  ptr3 = (orc_int8 *) ex->arrays[3];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-  ptr5 = (orc_union32 *) ex->arrays[5];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var35 = ptr4[i];
-    /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: storew */
-    ptr0[i] = var40;
-    /* 3: loadl */
-    var36 = ptr5[i];
-    /* 4: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var41.x2[0] = _src.x2[1];
-      var42.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var41.x2[1] = _src.x2[1];
-      var42.x2[1] = _src.x2[0];
-    }
-    /* 5: storew */
-    ptr1[i] = var42;
-    /* 6: avgub */
-    var43.x2[0] = ((orc_uint8) var39.x2[0] + (orc_uint8) var41.x2[0] + 1) >> 1;
-    var43.x2[1] = ((orc_uint8) var39.x2[1] + (orc_uint8) var41.x2[1] + 1) >> 1;
-    /* 7: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var37 = _src.x2[1];
-      var38 = _src.x2[0];
-    }
-    /* 8: storeb */
-    ptr3[i] = var37;
-    /* 9: storeb */
-    ptr2[i] = var38;
-  }
-
-}
-
-void
-cogorc_convert_YUY2_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_convert_YUY2_I420");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_YUY2_I420);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 2, "d2");
-      orc_program_add_destination (p, 1, "d3");
-      orc_program_add_destination (p, 1, "d4");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_source (p, 4, "s2");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_S2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "storew", 0, ORC_VAR_D2, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D4, ORC_VAR_D3, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->arrays[ORC_VAR_D3] = d3;
-  ex->arrays[ORC_VAR_D4] = d4;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_UYVY_YUY2 */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_UYVY_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var32;
-  orc_union32 var33;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var32 = ptr4[i];
-      /* 1: swapw */
-      var33.x2[0] = ORC_SWAP_W (var32.x2[0]);
-      var33.x2[1] = ORC_SWAP_W (var32.x2[1]);
-      /* 2: storel */
-      ptr0[i] = var33;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_UYVY_YUY2 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var32;
-  orc_union32 var33;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var32 = ptr4[i];
-      /* 1: swapw */
-      var33.x2[0] = ORC_SWAP_W (var32.x2[0]);
-      var33.x2[1] = ORC_SWAP_W (var32.x2[1]);
-      /* 2: storel */
-      ptr0[i] = var33;
-    }
-  }
-
-}
-
-void
-cogorc_convert_UYVY_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_UYVY_YUY2");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_UYVY_YUY2);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 4, "s1");
-
-      orc_program_append_2 (p, "swapw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_planar_chroma_420_422 */
-#ifdef DISABLE_ORC
-void
-cogorc_planar_chroma_420_422 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1,
-    int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_int8 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var32;
-  orc_int8 var33;
-  orc_int8 var34;
-  orc_int8 var35;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var32 = ptr4[i];
-      /* 1: copyb */
-      var33 = var32;
-      /* 2: storeb */
-      ptr0[i] = var33;
-      /* 3: loadb */
-      var34 = ptr4[i];
-      /* 4: copyb */
-      var35 = var34;
-      /* 5: storeb */
-      ptr1[i] = var35;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_planar_chroma_420_422 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_int8 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var32;
-  orc_int8 var33;
-  orc_int8 var34;
-  orc_int8 var35;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var32 = ptr4[i];
-      /* 1: copyb */
-      var33 = var32;
-      /* 2: storeb */
-      ptr0[i] = var33;
-      /* 3: loadb */
-      var34 = ptr4[i];
-      /* 4: copyb */
-      var35 = var34;
-      /* 5: storeb */
-      ptr1[i] = var35;
-    }
-  }
-
-}
-
-void
-cogorc_planar_chroma_420_422 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1,
-    int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_planar_chroma_420_422");
-      orc_program_set_backup_function (p, _backup_cogorc_planar_chroma_420_422);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_destination (p, 1, "d2");
-      orc_program_add_source (p, 1, "s1");
-
-      orc_program_append_2 (p, "copyb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "copyb", 0, ORC_VAR_D2, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->params[ORC_VAR_D2] = d2_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_planar_chroma_420_444 */
-#ifdef DISABLE_ORC
-void
-cogorc_planar_chroma_420_444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1,
-    int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var33;
-  orc_union16 var34;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var33 = ptr4[i];
-      /* 1: splatbw */
-      var34.i = ((var33 & 0xff) << 8) | (var33 & 0xff);
-      /* 2: storew */
-      ptr0[i] = var34;
-      /* 3: storew */
-      ptr1[i] = var34;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_planar_chroma_420_444 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var33;
-  orc_union16 var34;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var33 = ptr4[i];
-      /* 1: splatbw */
-      var34.i = ((var33 & 0xff) << 8) | (var33 & 0xff);
-      /* 2: storew */
-      ptr0[i] = var34;
-      /* 3: storew */
-      ptr1[i] = var34;
-    }
-  }
-
-}
-
-void
-cogorc_planar_chroma_420_444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1,
-    int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_planar_chroma_420_444");
-      orc_program_set_backup_function (p, _backup_cogorc_planar_chroma_420_444);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 2, "d2");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "storew", 0, ORC_VAR_D2, ORC_VAR_T1, ORC_VAR_D1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->params[ORC_VAR_D2] = d2_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_planar_chroma_422_444 */
-#ifdef DISABLE_ORC
-void
-cogorc_planar_chroma_422_444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var33;
-  orc_union16 var34;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var33 = ptr4[i];
-      /* 1: splatbw */
-      var34.i = ((var33 & 0xff) << 8) | (var33 & 0xff);
-      /* 2: storew */
-      ptr0[i] = var34;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_planar_chroma_422_444 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var33;
-  orc_union16 var34;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var33 = ptr4[i];
-      /* 1: splatbw */
-      var34.i = ((var33 & 0xff) << 8) | (var33 & 0xff);
-      /* 2: storew */
-      ptr0[i] = var34;
-    }
-  }
-
-}
-
-void
-cogorc_planar_chroma_422_444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_planar_chroma_422_444");
-      orc_program_set_backup_function (p, _backup_cogorc_planar_chroma_422_444);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "splatbw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_planar_chroma_444_422 */
-#ifdef DISABLE_ORC
-void
-cogorc_planar_chroma_444_422 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadw */
-      var34 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var34.i;
-        var36 = _src.x2[1];
-        var37 = _src.x2[0];
-      }
-      /* 2: avgub */
-      var35 = ((orc_uint8) var36 + (orc_uint8) var37 + 1) >> 1;
-      /* 3: storeb */
-      ptr0[i] = var35;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_planar_chroma_444_422 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadw */
-      var34 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var34.i;
-        var36 = _src.x2[1];
-        var37 = _src.x2[0];
-      }
-      /* 2: avgub */
-      var35 = ((orc_uint8) var36 + (orc_uint8) var37 + 1) >> 1;
-      /* 3: storeb */
-      ptr0[i] = var35;
-    }
-  }
-
-}
-
-void
-cogorc_planar_chroma_444_422 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_planar_chroma_444_422");
-      orc_program_set_backup_function (p, _backup_cogorc_planar_chroma_444_422);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_temporary (p, 1, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_planar_chroma_444_420 */
-#ifdef DISABLE_ORC
-void
-cogorc_planar_chroma_444_420 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var35;
-  orc_union16 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_int8 var40;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-    ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadw */
-      var35 = ptr4[i];
-      /* 1: loadw */
-      var36 = ptr5[i];
-      /* 2: avgub */
-      var38.x2[0] =
-          ((orc_uint8) var35.x2[0] + (orc_uint8) var36.x2[0] + 1) >> 1;
-      var38.x2[1] =
-          ((orc_uint8) var35.x2[1] + (orc_uint8) var36.x2[1] + 1) >> 1;
-      /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var38.i;
-        var39 = _src.x2[1];
-        var40 = _src.x2[0];
-      }
-      /* 4: avgub */
-      var37 = ((orc_uint8) var39 + (orc_uint8) var40 + 1) >> 1;
-      /* 5: storeb */
-      ptr0[i] = var37;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_planar_chroma_444_420 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var35;
-  orc_union16 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_int8 var39;
-  orc_int8 var40;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-    ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadw */
-      var35 = ptr4[i];
-      /* 1: loadw */
-      var36 = ptr5[i];
-      /* 2: avgub */
-      var38.x2[0] =
-          ((orc_uint8) var35.x2[0] + (orc_uint8) var36.x2[0] + 1) >> 1;
-      var38.x2[1] =
-          ((orc_uint8) var35.x2[1] + (orc_uint8) var36.x2[1] + 1) >> 1;
-      /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var38.i;
-        var39 = _src.x2[1];
-        var40 = _src.x2[0];
-      }
-      /* 4: avgub */
-      var37 = ((orc_uint8) var39 + (orc_uint8) var40 + 1) >> 1;
-      /* 5: storeb */
-      ptr0[i] = var37;
-    }
-  }
-
-}
-
-void
-cogorc_planar_chroma_444_420 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_planar_chroma_444_420");
-      orc_program_set_backup_function (p, _backup_cogorc_planar_chroma_444_420);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 2, "s2");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_S2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->params[ORC_VAR_S2] = s2_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_planar_chroma_422_420 */
-#ifdef DISABLE_ORC
-void
-cogorc_planar_chroma_422_420 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var32;
-  orc_int8 var33;
-  orc_int8 var34;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-    ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var32 = ptr4[i];
-      /* 1: loadb */
-      var33 = ptr5[i];
-      /* 2: avgub */
-      var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
-      /* 3: storeb */
-      ptr0[i] = var34;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_planar_chroma_422_420 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  orc_int8 var32;
-  orc_int8 var33;
-  orc_int8 var34;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-    ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var32 = ptr4[i];
-      /* 1: loadb */
-      var33 = ptr5[i];
-      /* 2: avgub */
-      var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1;
-      /* 3: storeb */
-      ptr0[i] = var34;
-    }
-  }
-
-}
-
-void
-cogorc_planar_chroma_422_420 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_planar_chroma_422_420");
-      orc_program_set_backup_function (p, _backup_cogorc_planar_chroma_422_420);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->params[ORC_VAR_S2] = s2_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_YUY2_AYUV */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_YUY2_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union32 var41;
-  orc_union32 var42;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-    /* 2: loadpb */
-    var37.x2[0] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-    var37.x2[1] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var36 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
-      /* 3: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[0];
-        _dest.x2[1] = var40.x2[0];
-        var41.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[1];
-        _dest.x2[1] = var40.x2[1];
-        var41.x2[1] = _dest.i;
-      }
-      /* 4: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var39.i;
-        _dest.x2[1] = var39.i;
-        var42.i = _dest.i;
-      }
-      /* 5: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[0];
-        _dest.x2[1] = var42.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[1];
-        _dest.x2[1] = var42.x2[1];
-        var38.x2[1] = _dest.i;
-      }
-      /* 6: storeq */
-      ptr0[i] = var38;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_YUY2_AYUV (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union32 var41;
-  orc_union32 var42;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-    /* 2: loadpb */
-    var37.x2[0] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-    var37.x2[1] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var36 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
-      /* 3: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[0];
-        _dest.x2[1] = var40.x2[0];
-        var41.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[1];
-        _dest.x2[1] = var40.x2[1];
-        var41.x2[1] = _dest.i;
-      }
-      /* 4: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var39.i;
-        _dest.x2[1] = var39.i;
-        var42.i = _dest.i;
-      }
-      /* 5: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[0];
-        _dest.x2[1] = var42.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[1];
-        _dest.x2[1] = var42.x2[1];
-        var38.x2[1] = _dest.i;
-      }
-      /* 6: storeq */
-      ptr0[i] = var38;
-    }
-  }
-
-}
-
-void
-cogorc_convert_YUY2_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_YUY2_AYUV");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_YUY2_AYUV);
-      orc_program_add_destination (p, 8, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_constant (p, 2, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 4, "t3");
-      orc_program_add_temporary (p, 4, "t4");
-
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_UYVY_AYUV */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_UYVY_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union32 var41;
-  orc_union32 var42;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-    /* 2: loadpb */
-    var37.x2[0] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-    var37.x2[1] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var36 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
-      /* 3: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[0];
-        _dest.x2[1] = var39.x2[0];
-        var41.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[1];
-        _dest.x2[1] = var39.x2[1];
-        var41.x2[1] = _dest.i;
-      }
-      /* 4: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var40.i;
-        _dest.x2[1] = var40.i;
-        var42.i = _dest.i;
-      }
-      /* 5: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[0];
-        _dest.x2[1] = var42.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[1];
-        _dest.x2[1] = var42.x2[1];
-        var38.x2[1] = _dest.i;
-      }
-      /* 6: storeq */
-      ptr0[i] = var38;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_UYVY_AYUV (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union32 var41;
-  orc_union32 var42;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-    /* 2: loadpb */
-    var37.x2[0] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-    var37.x2[1] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var36 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var36.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
-      /* 3: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[0];
-        _dest.x2[1] = var39.x2[0];
-        var41.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[1];
-        _dest.x2[1] = var39.x2[1];
-        var41.x2[1] = _dest.i;
-      }
-      /* 4: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var40.i;
-        _dest.x2[1] = var40.i;
-        var42.i = _dest.i;
-      }
-      /* 5: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[0];
-        _dest.x2[1] = var42.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.x2[1];
-        _dest.x2[1] = var42.x2[1];
-        var38.x2[1] = _dest.i;
-      }
-      /* 6: storeq */
-      ptr0[i] = var38;
-    }
-  }
-
-}
-
-void
-cogorc_convert_UYVY_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_UYVY_AYUV");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_UYVY_AYUV);
-      orc_program_add_destination (p, 8, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_constant (p, 2, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 4, "t3");
-      orc_program_add_temporary (p, 4, "t4");
-
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_YUY2_Y42B */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_YUY2_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_union16 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
-    ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var33 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[0];
-        var37.x2[0] = _src.x2[1];
-        var34.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[1];
-        var37.x2[1] = _src.x2[1];
-        var34.x2[1] = _src.x2[0];
-      }
-      /* 2: storew */
-      ptr0[i] = var34;
-      /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var37.i;
-        var35 = _src.x2[1];
-        var36 = _src.x2[0];
-      }
-      /* 4: storeb */
-      ptr2[i] = var35;
-      /* 5: storeb */
-      ptr1[i] = var36;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_YUY2_Y42B (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_union16 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
-    ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var33 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[0];
-        var37.x2[0] = _src.x2[1];
-        var34.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[1];
-        var37.x2[1] = _src.x2[1];
-        var34.x2[1] = _src.x2[0];
-      }
-      /* 2: storew */
-      ptr0[i] = var34;
-      /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var37.i;
-        var35 = _src.x2[1];
-        var36 = _src.x2[0];
-      }
-      /* 4: storeb */
-      ptr2[i] = var35;
-      /* 5: storeb */
-      ptr1[i] = var36;
-    }
-  }
-
-}
-
-void
-cogorc_convert_YUY2_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_YUY2_Y42B");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_YUY2_Y42B);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 1, "d2");
-      orc_program_add_destination (p, 1, "d3");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->params[ORC_VAR_D2] = d2_stride;
-  ex->arrays[ORC_VAR_D3] = d3;
-  ex->params[ORC_VAR_D3] = d3_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_UYVY_Y42B */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_UYVY_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_union16 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
-    ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var33 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[0];
-        var34.x2[0] = _src.x2[1];
-        var37.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[1];
-        var34.x2[1] = _src.x2[1];
-        var37.x2[1] = _src.x2[0];
-      }
-      /* 2: storew */
-      ptr0[i] = var34;
-      /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var37.i;
-        var35 = _src.x2[1];
-        var36 = _src.x2[0];
-      }
-      /* 4: storeb */
-      ptr2[i] = var35;
-      /* 5: storeb */
-      ptr1[i] = var36;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_UYVY_Y42B (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_union16 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_union16 var37;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
-    ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var33 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[0];
-        var34.x2[0] = _src.x2[1];
-        var37.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var33.x2[1];
-        var34.x2[1] = _src.x2[1];
-        var37.x2[1] = _src.x2[0];
-      }
-      /* 2: storew */
-      ptr0[i] = var34;
-      /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var37.i;
-        var35 = _src.x2[1];
-        var36 = _src.x2[0];
-      }
-      /* 4: storeb */
-      ptr2[i] = var35;
-      /* 5: storeb */
-      ptr1[i] = var36;
-    }
-  }
-
-}
-
-void
-cogorc_convert_UYVY_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_UYVY_Y42B");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_UYVY_Y42B);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 1, "d2");
-      orc_program_add_destination (p, 1, "d3");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->params[ORC_VAR_D2] = d2_stride;
-  ex->arrays[ORC_VAR_D3] = d3;
-  ex->params[ORC_VAR_D3] = d3_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_YUY2_Y444 */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_YUY2_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  orc_union16 *ORC_RESTRICT ptr2;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var35;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_int8 var40;
-  orc_int8 var41;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
-    ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var35 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var36.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var36.x2[1] = _src.x2[0];
-      }
-      /* 2: storew */
-      ptr0[i] = var36;
-      /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var39.i;
-        var40 = _src.x2[1];
-        var41 = _src.x2[0];
-      }
-      /* 4: splatbw */
-      var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
-      /* 5: storew */
-      ptr1[i] = var37;
-      /* 6: splatbw */
-      var38.i = ((var40 & 0xff) << 8) | (var40 & 0xff);
-      /* 7: storew */
-      ptr2[i] = var38;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_YUY2_Y444 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  orc_union16 *ORC_RESTRICT ptr2;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var35;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_int8 var40;
-  orc_int8 var41;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
-    ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var35 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var36.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var36.x2[1] = _src.x2[0];
-      }
-      /* 2: storew */
-      ptr0[i] = var36;
-      /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var39.i;
-        var40 = _src.x2[1];
-        var41 = _src.x2[0];
-      }
-      /* 4: splatbw */
-      var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
-      /* 5: storew */
-      ptr1[i] = var37;
-      /* 6: splatbw */
-      var38.i = ((var40 & 0xff) << 8) | (var40 & 0xff);
-      /* 7: storew */
-      ptr2[i] = var38;
-    }
-  }
-
-}
-
-void
-cogorc_convert_YUY2_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_YUY2_Y444");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_YUY2_Y444);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 2, "d2");
-      orc_program_add_destination (p, 2, "d3");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D2, ORC_VAR_T2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D3, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->params[ORC_VAR_D2] = d2_stride;
-  ex->arrays[ORC_VAR_D3] = d3;
-  ex->params[ORC_VAR_D3] = d3_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_UYVY_Y444 */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_UYVY_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  orc_union16 *ORC_RESTRICT ptr2;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var35;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_int8 var40;
-  orc_int8 var41;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
-    ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var35 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[0];
-        var36.x2[0] = _src.x2[1];
-        var39.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[1];
-        var36.x2[1] = _src.x2[1];
-        var39.x2[1] = _src.x2[0];
-      }
-      /* 2: storew */
-      ptr0[i] = var36;
-      /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var39.i;
-        var40 = _src.x2[1];
-        var41 = _src.x2[0];
-      }
-      /* 4: splatbw */
-      var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
-      /* 5: storew */
-      ptr1[i] = var37;
-      /* 6: splatbw */
-      var38.i = ((var40 & 0xff) << 8) | (var40 & 0xff);
-      /* 7: storew */
-      ptr2[i] = var38;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_UYVY_Y444 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  orc_union16 *ORC_RESTRICT ptr2;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var35;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_int8 var40;
-  orc_int8 var41;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
-    ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var35 = ptr4[i];
-      /* 1: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[0];
-        var36.x2[0] = _src.x2[1];
-        var39.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var35.x2[1];
-        var36.x2[1] = _src.x2[1];
-        var39.x2[1] = _src.x2[0];
-      }
-      /* 2: storew */
-      ptr0[i] = var36;
-      /* 3: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var39.i;
-        var40 = _src.x2[1];
-        var41 = _src.x2[0];
-      }
-      /* 4: splatbw */
-      var37.i = ((var41 & 0xff) << 8) | (var41 & 0xff);
-      /* 5: storew */
-      ptr1[i] = var37;
-      /* 6: splatbw */
-      var38.i = ((var40 & 0xff) << 8) | (var40 & 0xff);
-      /* 7: storew */
-      ptr2[i] = var38;
-    }
-  }
-
-}
-
-void
-cogorc_convert_UYVY_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_UYVY_Y444");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_UYVY_Y444);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 2, "d2");
-      orc_program_add_destination (p, 2, "d3");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D2, ORC_VAR_T2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D3, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->params[ORC_VAR_D2] = d2_stride;
-  ex->arrays[ORC_VAR_D3] = d3;
-  ex->params[ORC_VAR_D3] = d3_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_UYVY_I420 */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_UYVY_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  orc_int8 *ORC_RESTRICT ptr3;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  const orc_union32 *ORC_RESTRICT ptr5;
-  orc_union32 var35;
-  orc_union32 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-
-  ptr0 = (orc_union16 *) d1;
-  ptr1 = (orc_union16 *) d2;
-  ptr2 = (orc_int8 *) d3;
-  ptr3 = (orc_int8 *) d4;
-  ptr4 = (orc_union32 *) s1;
-  ptr5 = (orc_union32 *) s2;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var35 = ptr4[i];
-    /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: storew */
-    ptr0[i] = var39;
-    /* 3: loadl */
-    var36 = ptr5[i];
-    /* 4: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var41.x2[0] = _src.x2[1];
-      var42.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var41.x2[1] = _src.x2[1];
-      var42.x2[1] = _src.x2[0];
-    }
-    /* 5: storew */
-    ptr1[i] = var41;
-    /* 6: avgub */
-    var43.x2[0] = ((orc_uint8) var40.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-    var43.x2[1] = ((orc_uint8) var40.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-    /* 7: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var37 = _src.x2[1];
-      var38 = _src.x2[0];
-    }
-    /* 8: storeb */
-    ptr3[i] = var37;
-    /* 9: storeb */
-    ptr2[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_UYVY_I420 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  orc_int8 *ORC_RESTRICT ptr3;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  const orc_union32 *ORC_RESTRICT ptr5;
-  orc_union32 var35;
-  orc_union32 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-
-  ptr0 = (orc_union16 *) ex->arrays[0];
-  ptr1 = (orc_union16 *) ex->arrays[1];
-  ptr2 = (orc_int8 *) ex->arrays[2];
-  ptr3 = (orc_int8 *) ex->arrays[3];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-  ptr5 = (orc_union32 *) ex->arrays[5];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var35 = ptr4[i];
-    /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var35.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: storew */
-    ptr0[i] = var39;
-    /* 3: loadl */
-    var36 = ptr5[i];
-    /* 4: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var41.x2[0] = _src.x2[1];
-      var42.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var41.x2[1] = _src.x2[1];
-      var42.x2[1] = _src.x2[0];
-    }
-    /* 5: storew */
-    ptr1[i] = var41;
-    /* 6: avgub */
-    var43.x2[0] = ((orc_uint8) var40.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-    var43.x2[1] = ((orc_uint8) var40.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-    /* 7: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var37 = _src.x2[1];
-      var38 = _src.x2[0];
-    }
-    /* 8: storeb */
-    ptr3[i] = var37;
-    /* 9: storeb */
-    ptr2[i] = var38;
-  }
-
-}
-
-void
-cogorc_convert_UYVY_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_convert_UYVY_I420");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_UYVY_I420);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 2, "d2");
-      orc_program_add_destination (p, 1, "d3");
-      orc_program_add_destination (p, 1, "d4");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_source (p, 4, "s2");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_S2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "storew", 0, ORC_VAR_D2, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D4, ORC_VAR_D3, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->arrays[ORC_VAR_D3] = d3;
-  ex->arrays[ORC_VAR_D4] = d4;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_AYUV_I420 */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_AYUV_I420 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, guint8 * ORC_RESTRICT d4, int d4_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  orc_int8 *ORC_RESTRICT ptr3;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  const orc_union64 *ORC_RESTRICT ptr5;
-  orc_union64 var40;
-  orc_union16 var41;
-  orc_union64 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_union32 var46;
-  orc_union32 var47;
-  orc_union32 var48;
-  orc_union32 var49;
-  orc_union32 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_int8 var53;
-  orc_int8 var54;
-  orc_int8 var55;
-  orc_int8 var56;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
-    ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
-    ptr3 = ORC_PTR_OFFSET (d4, d4_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-    ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadq */
-      var40 = ptr4[i];
-      /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.x2[0];
-        var46.x2[0] = _src.x2[1];
-        var47.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var40.x2[1];
-        var46.x2[1] = _src.x2[1];
-        var47.x2[1] = _src.x2[0];
-      }
-      /* 2: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var47.x2[0];
-        var41.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var47.x2[1];
-        var41.x2[1] = _src.x2[1];
-      }
-      /* 3: storew */
-      ptr0[i] = var41;
-      /* 4: loadq */
-      var42 = ptr5[i];
-      /* 5: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var42.x2[0];
-        var48.x2[0] = _src.x2[1];
-        var49.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var42.x2[1];
-        var48.x2[1] = _src.x2[1];
-        var49.x2[1] = _src.x2[0];
-      }
-      /* 6: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var49.x2[0];
-        var43.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var49.x2[1];
-        var43.x2[1] = _src.x2[1];
-      }
-      /* 7: storew */
-      ptr1[i] = var43;
-      /* 8: avgub */
-      var50.x4[0] =
-          ((orc_uint8) var46.x4[0] + (orc_uint8) var48.x4[0] + 1) >> 1;
-      var50.x4[1] =
-          ((orc_uint8) var46.x4[1] + (orc_uint8) var48.x4[1] + 1) >> 1;
-      var50.x4[2] =
-          ((orc_uint8) var46.x4[2] + (orc_uint8) var48.x4[2] + 1) >> 1;
-      var50.x4[3] =
-          ((orc_uint8) var46.x4[3] + (orc_uint8) var48.x4[3] + 1) >> 1;
-      /* 9: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var50.x2[0];
-        var51.x2[0] = _src.x2[1];
-        var52.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var50.x2[1];
-        var51.x2[1] = _src.x2[1];
-        var52.x2[1] = _src.x2[0];
-      }
-      /* 10: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var52.i;
-        var53 = _src.x2[1];
-        var54 = _src.x2[0];
-      }
-      /* 11: avgub */
-      var44 = ((orc_uint8) var53 + (orc_uint8) var54 + 1) >> 1;
-      /* 12: storeb */
-      ptr2[i] = var44;
-      /* 13: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var51.i;
-        var55 = _src.x2[1];
-        var56 = _src.x2[0];
-      }
-      /* 14: avgub */
-      var45 = ((orc_uint8) var55 + (orc_uint8) var56 + 1) >> 1;
-      /* 15: storeb */
-      ptr3[i] = var45;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_AYUV_I420 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  orc_int8 *ORC_RESTRICT ptr3;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  const orc_union64 *ORC_RESTRICT ptr5;
-  orc_union64 var40;
-  orc_union16 var41;
-  orc_union64 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_union32 var46;
-  orc_union32 var47;
-  orc_union32 var48;
-  orc_union32 var49;
-  orc_union32 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_int8 var53;
-  orc_int8 var54;
-  orc_int8 var55;
-  orc_int8 var56;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
-    ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
-    ptr3 = ORC_PTR_OFFSET (ex->arrays[3], ex->params[3] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-    ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadq */
-      var40 = ptr4[i];
-      /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.x2[0];
-        var46.x2[0] = _src.x2[1];
-        var47.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var40.x2[1];
-        var46.x2[1] = _src.x2[1];
-        var47.x2[1] = _src.x2[0];
-      }
-      /* 2: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var47.x2[0];
-        var41.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var47.x2[1];
-        var41.x2[1] = _src.x2[1];
-      }
-      /* 3: storew */
-      ptr0[i] = var41;
-      /* 4: loadq */
-      var42 = ptr5[i];
-      /* 5: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var42.x2[0];
-        var48.x2[0] = _src.x2[1];
-        var49.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var42.x2[1];
-        var48.x2[1] = _src.x2[1];
-        var49.x2[1] = _src.x2[0];
-      }
-      /* 6: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var49.x2[0];
-        var43.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var49.x2[1];
-        var43.x2[1] = _src.x2[1];
-      }
-      /* 7: storew */
-      ptr1[i] = var43;
-      /* 8: avgub */
-      var50.x4[0] =
-          ((orc_uint8) var46.x4[0] + (orc_uint8) var48.x4[0] + 1) >> 1;
-      var50.x4[1] =
-          ((orc_uint8) var46.x4[1] + (orc_uint8) var48.x4[1] + 1) >> 1;
-      var50.x4[2] =
-          ((orc_uint8) var46.x4[2] + (orc_uint8) var48.x4[2] + 1) >> 1;
-      var50.x4[3] =
-          ((orc_uint8) var46.x4[3] + (orc_uint8) var48.x4[3] + 1) >> 1;
-      /* 9: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var50.x2[0];
-        var51.x2[0] = _src.x2[1];
-        var52.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var50.x2[1];
-        var51.x2[1] = _src.x2[1];
-        var52.x2[1] = _src.x2[0];
-      }
-      /* 10: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var52.i;
-        var53 = _src.x2[1];
-        var54 = _src.x2[0];
-      }
-      /* 11: avgub */
-      var44 = ((orc_uint8) var53 + (orc_uint8) var54 + 1) >> 1;
-      /* 12: storeb */
-      ptr2[i] = var44;
-      /* 13: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var51.i;
-        var55 = _src.x2[1];
-        var56 = _src.x2[0];
-      }
-      /* 14: avgub */
-      var45 = ((orc_uint8) var55 + (orc_uint8) var56 + 1) >> 1;
-      /* 15: storeb */
-      ptr3[i] = var45;
-    }
-  }
-
-}
-
-void
-cogorc_convert_AYUV_I420 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, guint8 * ORC_RESTRICT d4, int d4_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_AYUV_I420");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_I420);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 2, "d2");
-      orc_program_add_destination (p, 1, "d3");
-      orc_program_add_destination (p, 1, "d4");
-      orc_program_add_source (p, 8, "s1");
-      orc_program_add_source (p, 8, "s2");
-      orc_program_add_temporary (p, 4, "t1");
-      orc_program_add_temporary (p, 4, "t2");
-      orc_program_add_temporary (p, 4, "t3");
-      orc_program_add_temporary (p, 4, "t4");
-      orc_program_add_temporary (p, 2, "t5");
-      orc_program_add_temporary (p, 2, "t6");
-      orc_program_add_temporary (p, 1, "t7");
-      orc_program_add_temporary (p, 1, "t8");
-
-      orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_S2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D2, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 2, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T7, ORC_VAR_T8, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D3, ORC_VAR_T7, ORC_VAR_T8,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T7, ORC_VAR_T8, ORC_VAR_T6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D4, ORC_VAR_T7, ORC_VAR_T8,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->params[ORC_VAR_D2] = d2_stride;
-  ex->arrays[ORC_VAR_D3] = d3;
-  ex->params[ORC_VAR_D3] = d3_stride;
-  ex->arrays[ORC_VAR_D4] = d4;
-  ex->params[ORC_VAR_D4] = d4_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->params[ORC_VAR_S2] = s2_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_AYUV_YUY2 */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_AYUV_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var37;
-  orc_union32 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadq */
-      var37 = ptr4[i];
-      /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
-      /* 2: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var39.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
-      /* 3: avgub */
-      var43.x2[0] =
-          ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-      var43.x2[1] =
-          ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-      /* 4: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[0];
-        var44.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[1];
-        var44.x2[1] = _src.x2[1];
-      }
-      /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var44.x2[0];
-        _dest.x2[1] = var43.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var44.x2[1];
-        _dest.x2[1] = var43.x2[1];
-        var38.x2[1] = _dest.i;
-      }
-      /* 6: storel */
-      ptr0[i] = var38;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_AYUV_YUY2 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var37;
-  orc_union32 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadq */
-      var37 = ptr4[i];
-      /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
-      /* 2: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var39.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
-      /* 3: avgub */
-      var43.x2[0] =
-          ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-      var43.x2[1] =
-          ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-      /* 4: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[0];
-        var44.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[1];
-        var44.x2[1] = _src.x2[1];
-      }
-      /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var44.x2[0];
-        _dest.x2[1] = var43.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var44.x2[1];
-        _dest.x2[1] = var43.x2[1];
-        var38.x2[1] = _dest.i;
-      }
-      /* 6: storel */
-      ptr0[i] = var38;
-    }
-  }
-
-}
-
-void
-cogorc_convert_AYUV_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_AYUV_YUY2");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_YUY2);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 8, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 4, "t4");
-      orc_program_add_temporary (p, 4, "t5");
-
-      orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_AYUV_UYVY */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_AYUV_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var37;
-  orc_union32 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadq */
-      var37 = ptr4[i];
-      /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
-      /* 2: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var39.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
-      /* 3: avgub */
-      var43.x2[0] =
-          ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-      var43.x2[1] =
-          ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-      /* 4: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[0];
-        var44.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[1];
-        var44.x2[1] = _src.x2[1];
-      }
-      /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[0];
-        _dest.x2[1] = var44.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[1];
-        _dest.x2[1] = var44.x2[1];
-        var38.x2[1] = _dest.i;
-      }
-      /* 6: storel */
-      ptr0[i] = var38;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_AYUV_UYVY (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var37;
-  orc_union32 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadq */
-      var37 = ptr4[i];
-      /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[0];
-        var39.x2[0] = _src.x2[1];
-        var40.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var37.x2[1];
-        var39.x2[1] = _src.x2[1];
-        var40.x2[1] = _src.x2[0];
-      }
-      /* 2: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var39.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
-      /* 3: avgub */
-      var43.x2[0] =
-          ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-      var43.x2[1] =
-          ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-      /* 4: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[0];
-        var44.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var40.x2[1];
-        var44.x2[1] = _src.x2[1];
-      }
-      /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[0];
-        _dest.x2[1] = var44.x2[0];
-        var38.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[1];
-        _dest.x2[1] = var44.x2[1];
-        var38.x2[1] = _dest.i;
-      }
-      /* 6: storel */
-      ptr0[i] = var38;
-    }
-  }
-
-}
-
-void
-cogorc_convert_AYUV_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_AYUV_UYVY");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_UYVY);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 8, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 4, "t4");
-      orc_program_add_temporary (p, 4, "t5");
-
-      orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_AYUV_Y42B */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_AYUV_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
-    ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadq */
-      var36 = ptr4[i];
-      /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var36.x2[0];
-        var40.x2[0] = _src.x2[1];
-        var41.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var36.x2[1];
-        var40.x2[1] = _src.x2[1];
-        var41.x2[1] = _src.x2[0];
-      }
-      /* 2: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.i;
-        var42.i = _src.x2[1];
-        var43.i = _src.x2[0];
-      }
-      /* 3: avgub */
-      var44.x2[0] =
-          ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
-      var44.x2[1] =
-          ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
-      /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var44.i;
-        var37 = _src.x2[1];
-        var38 = _src.x2[0];
-      }
-      /* 5: storeb */
-      ptr2[i] = var37;
-      /* 6: storeb */
-      ptr1[i] = var38;
-      /* 7: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var41.x2[0];
-        var39.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var41.x2[1];
-        var39.x2[1] = _src.x2[1];
-      }
-      /* 8: storew */
-      ptr0[i] = var39;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_AYUV_Y42B (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
-    ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadq */
-      var36 = ptr4[i];
-      /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var36.x2[0];
-        var40.x2[0] = _src.x2[1];
-        var41.x2[0] = _src.x2[0];
-      }
-      {
-        orc_union32 _src;
-        _src.i = var36.x2[1];
-        var40.x2[1] = _src.x2[1];
-        var41.x2[1] = _src.x2[0];
-      }
-      /* 2: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.i;
-        var42.i = _src.x2[1];
-        var43.i = _src.x2[0];
-      }
-      /* 3: avgub */
-      var44.x2[0] =
-          ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
-      var44.x2[1] =
-          ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
-      /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var44.i;
-        var37 = _src.x2[1];
-        var38 = _src.x2[0];
-      }
-      /* 5: storeb */
-      ptr2[i] = var37;
-      /* 6: storeb */
-      ptr1[i] = var38;
-      /* 7: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var41.x2[0];
-        var39.x2[0] = _src.x2[1];
-      }
-      {
-        orc_union16 _src;
-        _src.i = var41.x2[1];
-        var39.x2[1] = _src.x2[1];
-      }
-      /* 8: storew */
-      ptr0[i] = var39;
-    }
-  }
-
-}
-
-void
-cogorc_convert_AYUV_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_AYUV_Y42B");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_Y42B);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 1, "d2");
-      orc_program_add_destination (p, 1, "d3");
-      orc_program_add_source (p, 8, "s1");
-      orc_program_add_temporary (p, 4, "t1");
-      orc_program_add_temporary (p, 4, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-
-      orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->params[ORC_VAR_D2] = d2_stride;
-  ex->arrays[ORC_VAR_D3] = d3;
-  ex->params[ORC_VAR_D3] = d3_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_AYUV_Y444 */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_AYUV_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_int8 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr1 = ORC_PTR_OFFSET (d2, d2_stride * j);
-    ptr2 = ORC_PTR_OFFSET (d3, d3_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var34 = ptr4[i];
-      /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var34.i;
-        var38.i = _src.x2[1];
-        var39.i = _src.x2[0];
-      }
-      /* 2: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var38.i;
-        var35 = _src.x2[1];
-        var36 = _src.x2[0];
-      }
-      /* 3: storeb */
-      ptr2[i] = var35;
-      /* 4: storeb */
-      ptr1[i] = var36;
-      /* 5: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var39.i;
-        var37 = _src.x2[1];
-      }
-      /* 6: storeb */
-      ptr0[i] = var37;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_AYUV_Y444 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_int8 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr1 = ORC_PTR_OFFSET (ex->arrays[1], ex->params[1] * j);
-    ptr2 = ORC_PTR_OFFSET (ex->arrays[2], ex->params[2] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var34 = ptr4[i];
-      /* 1: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var34.i;
-        var38.i = _src.x2[1];
-        var39.i = _src.x2[0];
-      }
-      /* 2: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var38.i;
-        var35 = _src.x2[1];
-        var36 = _src.x2[0];
-      }
-      /* 3: storeb */
-      ptr2[i] = var35;
-      /* 4: storeb */
-      ptr1[i] = var36;
-      /* 5: select1wb */
-      {
-        orc_union16 _src;
-        _src.i = var39.i;
-        var37 = _src.x2[1];
-      }
-      /* 6: storeb */
-      ptr0[i] = var37;
-    }
-  }
-
-}
-
-void
-cogorc_convert_AYUV_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3,
-    int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_AYUV_Y444");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_Y444);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_destination (p, 1, "d2");
-      orc_program_add_destination (p, 1, "d3");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->params[ORC_VAR_D2] = d2_stride;
-  ex->arrays[ORC_VAR_D3] = d3;
-  ex->params[ORC_VAR_D3] = d3_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_Y42B_YUY2 */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_Y42B_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_union32 var36;
-  orc_union16 var37;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-    ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
-    ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var33 = ptr5[i];
-      /* 1: loadb */
-      var34 = ptr6[i];
-      /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var33;
-        _dest.x2[1] = var34;
-        var37.i = _dest.i;
-      }
-      /* 3: loadw */
-      var35 = ptr4[i];
-      /* 4: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var35.x2[0];
-        _dest.x2[1] = var37.x2[0];
-        var36.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var35.x2[1];
-        _dest.x2[1] = var37.x2[1];
-        var36.x2[1] = _dest.i;
-      }
-      /* 5: storel */
-      ptr0[i] = var36;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_Y42B_YUY2 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_union32 var36;
-  orc_union16 var37;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-    ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
-    ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var33 = ptr5[i];
-      /* 1: loadb */
-      var34 = ptr6[i];
-      /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var33;
-        _dest.x2[1] = var34;
-        var37.i = _dest.i;
-      }
-      /* 3: loadw */
-      var35 = ptr4[i];
-      /* 4: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var35.x2[0];
-        _dest.x2[1] = var37.x2[0];
-        var36.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var35.x2[1];
-        _dest.x2[1] = var37.x2[1];
-        var36.x2[1] = _dest.i;
-      }
-      /* 5: storel */
-      ptr0[i] = var36;
-    }
-  }
-
-}
-
-void
-cogorc_convert_Y42B_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_Y42B_YUY2");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_Y42B_YUY2);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->params[ORC_VAR_S2] = s2_stride;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->params[ORC_VAR_S3] = s3_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_Y42B_UYVY */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_Y42B_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_union32 var36;
-  orc_union16 var37;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-    ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
-    ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var33 = ptr5[i];
-      /* 1: loadb */
-      var34 = ptr6[i];
-      /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var33;
-        _dest.x2[1] = var34;
-        var37.i = _dest.i;
-      }
-      /* 3: loadw */
-      var35 = ptr4[i];
-      /* 4: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[0];
-        _dest.x2[1] = var35.x2[0];
-        var36.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[1];
-        _dest.x2[1] = var35.x2[1];
-        var36.x2[1] = _dest.i;
-      }
-      /* 5: storel */
-      ptr0[i] = var36;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_Y42B_UYVY (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_union32 var36;
-  orc_union16 var37;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-    ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
-    ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var33 = ptr5[i];
-      /* 1: loadb */
-      var34 = ptr6[i];
-      /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var33;
-        _dest.x2[1] = var34;
-        var37.i = _dest.i;
-      }
-      /* 3: loadw */
-      var35 = ptr4[i];
-      /* 4: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[0];
-        _dest.x2[1] = var35.x2[0];
-        var36.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var37.x2[1];
-        _dest.x2[1] = var35.x2[1];
-        var36.x2[1] = _dest.i;
-      }
-      /* 5: storel */
-      ptr0[i] = var36;
-    }
-  }
-
-}
-
-void
-cogorc_convert_Y42B_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_Y42B_UYVY");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_Y42B_UYVY);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->params[ORC_VAR_S2] = s2_stride;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->params[ORC_VAR_S3] = s3_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_Y42B_AYUV */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_Y42B_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_union64 var40;
-  orc_union16 var41;
-  orc_union32 var42;
-  orc_union32 var43;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-    ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
-    ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
-
-    /* 3: loadpb */
-    var38.x2[0] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-    var38.x2[1] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var36 = ptr5[i];
-      /* 1: loadb */
-      var37 = ptr6[i];
-      /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36;
-        _dest.x2[1] = var37;
-        var41.i = _dest.i;
-      }
-      /* 4: loadw */
-      var39 = ptr4[i];
-      /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[0];
-        _dest.x2[1] = var39.x2[0];
-        var42.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[1];
-        _dest.x2[1] = var39.x2[1];
-        var42.x2[1] = _dest.i;
-      }
-      /* 6: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.i;
-        _dest.x2[1] = var41.i;
-        var43.i = _dest.i;
-      }
-      /* 7: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var42.x2[0];
-        _dest.x2[1] = var43.x2[0];
-        var40.x2[0] = _dest.i;
-      }
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var42.x2[1];
-        _dest.x2[1] = var43.x2[1];
-        var40.x2[1] = _dest.i;
-      }
-      /* 8: storeq */
-      ptr0[i] = var40;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_Y42B_AYUV (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_union64 var40;
-  orc_union16 var41;
-  orc_union32 var42;
-  orc_union32 var43;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-    ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
-    ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
-
-    /* 3: loadpb */
-    var38.x2[0] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-    var38.x2[1] = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var36 = ptr5[i];
-      /* 1: loadb */
-      var37 = ptr6[i];
-      /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36;
-        _dest.x2[1] = var37;
-        var41.i = _dest.i;
-      }
-      /* 4: loadw */
-      var39 = ptr4[i];
-      /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[0];
-        _dest.x2[1] = var39.x2[0];
-        var42.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[1];
-        _dest.x2[1] = var39.x2[1];
-        var42.x2[1] = _dest.i;
-      }
-      /* 6: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var41.i;
-        _dest.x2[1] = var41.i;
-        var43.i = _dest.i;
-      }
-      /* 7: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var42.x2[0];
-        _dest.x2[1] = var43.x2[0];
-        var40.x2[0] = _dest.i;
-      }
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var42.x2[1];
-        _dest.x2[1] = var43.x2[1];
-        var40.x2[1] = _dest.i;
-      }
-      /* 8: storeq */
-      ptr0[i] = var40;
-    }
-  }
-
-}
-
-void
-cogorc_convert_Y42B_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_Y42B_AYUV");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_Y42B_AYUV);
-      orc_program_add_destination (p, 8, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 1, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 4, "t3");
-      orc_program_add_temporary (p, 4, "t4");
-
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T4, ORC_VAR_C1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T4, ORC_VAR_T3,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->params[ORC_VAR_S2] = s2_stride;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->params[ORC_VAR_S3] = s3_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_Y444_YUY2 */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_Y444_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  const orc_union16 *ORC_RESTRICT ptr6;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-    ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
-    ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadw */
-      var36 = ptr5[i];
-      /* 1: loadw */
-      var37 = ptr6[i];
-      /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[0];
-        _dest.x2[1] = var37.x2[0];
-        var40.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[1];
-        _dest.x2[1] = var37.x2[1];
-        var40.x2[1] = _dest.i;
-      }
-      /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
-      /* 4: avgub */
-      var43.x2[0] =
-          ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-      var43.x2[1] =
-          ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-      /* 5: loadw */
-      var38 = ptr4[i];
-      /* 6: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[0];
-        _dest.x2[1] = var43.x2[0];
-        var39.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[1];
-        _dest.x2[1] = var43.x2[1];
-        var39.x2[1] = _dest.i;
-      }
-      /* 7: storel */
-      ptr0[i] = var39;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_Y444_YUY2 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  const orc_union16 *ORC_RESTRICT ptr6;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-    ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
-    ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadw */
-      var36 = ptr5[i];
-      /* 1: loadw */
-      var37 = ptr6[i];
-      /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[0];
-        _dest.x2[1] = var37.x2[0];
-        var40.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[1];
-        _dest.x2[1] = var37.x2[1];
-        var40.x2[1] = _dest.i;
-      }
-      /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
-      /* 4: avgub */
-      var43.x2[0] =
-          ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-      var43.x2[1] =
-          ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-      /* 5: loadw */
-      var38 = ptr4[i];
-      /* 6: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[0];
-        _dest.x2[1] = var43.x2[0];
-        var39.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var38.x2[1];
-        _dest.x2[1] = var43.x2[1];
-        var39.x2[1] = _dest.i;
-      }
-      /* 7: storel */
-      ptr0[i] = var39;
-    }
-  }
-
-}
-
-void
-cogorc_convert_Y444_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_Y444_YUY2");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_Y444_YUY2);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 2, "s2");
-      orc_program_add_source (p, 2, "s3");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 4, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->params[ORC_VAR_S2] = s2_stride;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->params[ORC_VAR_S3] = s3_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_Y444_UYVY */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_Y444_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  const orc_union16 *ORC_RESTRICT ptr6;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-    ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
-    ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadw */
-      var36 = ptr5[i];
-      /* 1: loadw */
-      var37 = ptr6[i];
-      /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[0];
-        _dest.x2[1] = var37.x2[0];
-        var40.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[1];
-        _dest.x2[1] = var37.x2[1];
-        var40.x2[1] = _dest.i;
-      }
-      /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
-      /* 4: avgub */
-      var43.x2[0] =
-          ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-      var43.x2[1] =
-          ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-      /* 5: loadw */
-      var38 = ptr4[i];
-      /* 6: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[0];
-        _dest.x2[1] = var38.x2[0];
-        var39.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[1];
-        _dest.x2[1] = var38.x2[1];
-        var39.x2[1] = _dest.i;
-      }
-      /* 7: storel */
-      ptr0[i] = var39;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_Y444_UYVY (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  const orc_union16 *ORC_RESTRICT ptr6;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-    ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
-    ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
-
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadw */
-      var36 = ptr5[i];
-      /* 1: loadw */
-      var37 = ptr6[i];
-      /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[0];
-        _dest.x2[1] = var37.x2[0];
-        var40.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36.x2[1];
-        _dest.x2[1] = var37.x2[1];
-        var40.x2[1] = _dest.i;
-      }
-      /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var40.i;
-        var41.i = _src.x2[1];
-        var42.i = _src.x2[0];
-      }
-      /* 4: avgub */
-      var43.x2[0] =
-          ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-      var43.x2[1] =
-          ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-      /* 5: loadw */
-      var38 = ptr4[i];
-      /* 6: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[0];
-        _dest.x2[1] = var38.x2[0];
-        var39.x2[0] = _dest.i;
-      }
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var43.x2[1];
-        _dest.x2[1] = var38.x2[1];
-        var39.x2[1] = _dest.i;
-      }
-      /* 7: storel */
-      ptr0[i] = var39;
-    }
-  }
-
-}
-
-void
-cogorc_convert_Y444_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_Y444_UYVY");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_Y444_UYVY);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 2, "s2");
-      orc_program_add_source (p, 2, "s3");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 4, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->params[ORC_VAR_S2] = s2_stride;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->params[ORC_VAR_S3] = s3_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_Y444_AYUV */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-    ptr5 = ORC_PTR_OFFSET (s2, s2_stride * j);
-    ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j);
-
-    /* 3: loadpb */
-    var36 = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var34 = ptr5[i];
-      /* 1: loadb */
-      var35 = ptr6[i];
-      /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var34;
-        _dest.x2[1] = var35;
-        var39.i = _dest.i;
-      }
-      /* 4: loadb */
-      var37 = ptr4[i];
-      /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36;
-        _dest.x2[1] = var37;
-        var40.i = _dest.i;
-      }
-      /* 6: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var40.i;
-        _dest.x2[1] = var39.i;
-        var38.i = _dest.i;
-      }
-      /* 7: storel */
-      ptr0[i] = var38;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_Y444_AYUV (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-    ptr5 = ORC_PTR_OFFSET (ex->arrays[5], ex->params[5] * j);
-    ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j);
-
-    /* 3: loadpb */
-    var36 = (int) 0x000000ff;   /* 255 or 1.25987e-321f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadb */
-      var34 = ptr5[i];
-      /* 1: loadb */
-      var35 = ptr6[i];
-      /* 2: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var34;
-        _dest.x2[1] = var35;
-        var39.i = _dest.i;
-      }
-      /* 4: loadb */
-      var37 = ptr4[i];
-      /* 5: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var36;
-        _dest.x2[1] = var37;
-        var40.i = _dest.i;
-      }
-      /* 6: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var40.i;
-        _dest.x2[1] = var39.i;
-        var38.i = _dest.i;
-      }
-      /* 7: storel */
-      ptr0[i] = var38;
-    }
-  }
-
-}
-
-void
-cogorc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride,
-    const guint8 * ORC_RESTRICT s2, int s2_stride,
-    const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_Y444_AYUV");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_Y444_AYUV);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 1, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->params[ORC_VAR_S2] = s2_stride;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->params[ORC_VAR_S3] = s3_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_AYUV_ARGB */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var48;
-  orc_union32 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union32 var55;
-  orc_union32 var56;
-  orc_union32 var57;
-  orc_union16 var58;
-  orc_union16 var59;
-  orc_int8 var60;
-  orc_int8 var61;
-  orc_int8 var62;
-  orc_int8 var63;
-  orc_union16 var64;
-  orc_union16 var65;
-  orc_union16 var66;
-  orc_union16 var67;
-  orc_union16 var68;
-  orc_union16 var69;
-  orc_union16 var70;
-  orc_union16 var71;
-  orc_union16 var72;
-  orc_union16 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union16 var76;
-  orc_union16 var77;
-  orc_union16 var78;
-  orc_union16 var79;
-  orc_union16 var80;
-  orc_union16 var81;
-  orc_union16 var82;
-  orc_union16 var83;
-  orc_union16 var84;
-  orc_union16 var85;
-  orc_union16 var86;
-  orc_int8 var87;
-  orc_int8 var88;
-  orc_int8 var89;
-  orc_union16 var90;
-  orc_union16 var91;
-  orc_union32 var92;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-    /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
-    /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
-    /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
-    /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
-    /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
-    /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var48 = ptr4[i];
-      /* 2: subb */
-      var57.x4[0] = var48.x4[0] - var49.x4[0];
-      var57.x4[1] = var48.x4[1] - var49.x4[1];
-      var57.x4[2] = var48.x4[2] - var49.x4[2];
-      var57.x4[3] = var48.x4[3] - var49.x4[3];
-      /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
-      /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
-      /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
-      /* 6: convsbw */
-      var64.i = var60;
-      /* 7: convsbw */
-      var65.i = var63;
-      /* 8: convsbw */
-      var66.i = var62;
-      /* 10: mullw */
-      var67.i = (var64.i * var50.i) & 0xffff;
-      /* 11: shrsw */
-      var68.i = var67.i >> 8;
-      /* 12: addssw */
-      var69.i = ORC_CLAMP_SW (var64.i + var68.i);
-      /* 13: addssw */
-      var70.i = ORC_CLAMP_SW (var69.i + var66.i);
-      /* 15: mullw */
-      var71.i = (var66.i * var51.i) & 0xffff;
-      /* 16: shrsw */
-      var72.i = var71.i >> 8;
-      /* 17: subssw */
-      var73.i = ORC_CLAMP_SW (var70.i - var72.i);
-      /* 18: addssw */
-      var74.i = ORC_CLAMP_SW (var73.i + var66.i);
-      /* 19: addssw */
-      var75.i = ORC_CLAMP_SW (var69.i + var65.i);
-      /* 20: addssw */
-      var76.i = ORC_CLAMP_SW (var75.i + var65.i);
-      /* 22: mullw */
-      var77.i = (var65.i * var52.i) & 0xffff;
-      /* 23: shrsw */
-      var78.i = var77.i >> 8;
-      /* 24: addssw */
-      var79.i = ORC_CLAMP_SW (var76.i + var78.i);
-      /* 26: mullw */
-      var80.i = (var65.i * var53.i) & 0xffff;
-      /* 27: shrsw */
-      var81.i = var80.i >> 8;
-      /* 28: subssw */
-      var82.i = ORC_CLAMP_SW (var69.i - var81.i);
-      /* 30: mullw */
-      var83.i = (var66.i * var54.i) & 0xffff;
-      /* 31: shrsw */
-      var84.i = var83.i >> 8;
-      /* 32: subssw */
-      var85.i = ORC_CLAMP_SW (var82.i - var84.i);
-      /* 33: subssw */
-      var86.i = ORC_CLAMP_SW (var85.i - var84.i);
-      /* 34: convssswb */
-      var87 = ORC_CLAMP_SB (var74.i);
-      /* 35: convssswb */
-      var88 = ORC_CLAMP_SB (var86.i);
-      /* 36: convssswb */
-      var89 = ORC_CLAMP_SB (var79.i);
-      /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var61;
-        _dest.x2[1] = var87;
-        var90.i = _dest.i;
-      }
-      /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var88;
-        _dest.x2[1] = var89;
-        var91.i = _dest.i;
-      }
-      /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
-      /* 41: addb */
-      var56.x4[0] = var92.x4[0] + var55.x4[0];
-      var56.x4[1] = var92.x4[1] + var55.x4[1];
-      var56.x4[2] = var92.x4[2] + var55.x4[2];
-      var56.x4[3] = var92.x4[3] + var55.x4[3];
-      /* 42: storel */
-      ptr0[i] = var56;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var48;
-  orc_union32 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union32 var55;
-  orc_union32 var56;
-  orc_union32 var57;
-  orc_union16 var58;
-  orc_union16 var59;
-  orc_int8 var60;
-  orc_int8 var61;
-  orc_int8 var62;
-  orc_int8 var63;
-  orc_union16 var64;
-  orc_union16 var65;
-  orc_union16 var66;
-  orc_union16 var67;
-  orc_union16 var68;
-  orc_union16 var69;
-  orc_union16 var70;
-  orc_union16 var71;
-  orc_union16 var72;
-  orc_union16 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union16 var76;
-  orc_union16 var77;
-  orc_union16 var78;
-  orc_union16 var79;
-  orc_union16 var80;
-  orc_union16 var81;
-  orc_union16 var82;
-  orc_union16 var83;
-  orc_union16 var84;
-  orc_union16 var85;
-  orc_union16 var86;
-  orc_int8 var87;
-  orc_int8 var88;
-  orc_int8 var89;
-  orc_union16 var90;
-  orc_union16 var91;
-  orc_union32 var92;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-    /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
-    /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
-    /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
-    /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
-    /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
-    /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var48 = ptr4[i];
-      /* 2: subb */
-      var57.x4[0] = var48.x4[0] - var49.x4[0];
-      var57.x4[1] = var48.x4[1] - var49.x4[1];
-      var57.x4[2] = var48.x4[2] - var49.x4[2];
-      var57.x4[3] = var48.x4[3] - var49.x4[3];
-      /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
-      /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
-      /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
-      /* 6: convsbw */
-      var64.i = var60;
-      /* 7: convsbw */
-      var65.i = var63;
-      /* 8: convsbw */
-      var66.i = var62;
-      /* 10: mullw */
-      var67.i = (var64.i * var50.i) & 0xffff;
-      /* 11: shrsw */
-      var68.i = var67.i >> 8;
-      /* 12: addssw */
-      var69.i = ORC_CLAMP_SW (var64.i + var68.i);
-      /* 13: addssw */
-      var70.i = ORC_CLAMP_SW (var69.i + var66.i);
-      /* 15: mullw */
-      var71.i = (var66.i * var51.i) & 0xffff;
-      /* 16: shrsw */
-      var72.i = var71.i >> 8;
-      /* 17: subssw */
-      var73.i = ORC_CLAMP_SW (var70.i - var72.i);
-      /* 18: addssw */
-      var74.i = ORC_CLAMP_SW (var73.i + var66.i);
-      /* 19: addssw */
-      var75.i = ORC_CLAMP_SW (var69.i + var65.i);
-      /* 20: addssw */
-      var76.i = ORC_CLAMP_SW (var75.i + var65.i);
-      /* 22: mullw */
-      var77.i = (var65.i * var52.i) & 0xffff;
-      /* 23: shrsw */
-      var78.i = var77.i >> 8;
-      /* 24: addssw */
-      var79.i = ORC_CLAMP_SW (var76.i + var78.i);
-      /* 26: mullw */
-      var80.i = (var65.i * var53.i) & 0xffff;
-      /* 27: shrsw */
-      var81.i = var80.i >> 8;
-      /* 28: subssw */
-      var82.i = ORC_CLAMP_SW (var69.i - var81.i);
-      /* 30: mullw */
-      var83.i = (var66.i * var54.i) & 0xffff;
-      /* 31: shrsw */
-      var84.i = var83.i >> 8;
-      /* 32: subssw */
-      var85.i = ORC_CLAMP_SW (var82.i - var84.i);
-      /* 33: subssw */
-      var86.i = ORC_CLAMP_SW (var85.i - var84.i);
-      /* 34: convssswb */
-      var87 = ORC_CLAMP_SB (var74.i);
-      /* 35: convssswb */
-      var88 = ORC_CLAMP_SB (var86.i);
-      /* 36: convssswb */
-      var89 = ORC_CLAMP_SB (var79.i);
-      /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var61;
-        _dest.x2[1] = var87;
-        var90.i = _dest.i;
-      }
-      /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var88;
-        _dest.x2[1] = var89;
-        var91.i = _dest.i;
-      }
-      /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
-      /* 41: addb */
-      var56.x4[0] = var92.x4[0] + var55.x4[0];
-      var56.x4[1] = var92.x4[1] + var55.x4[1];
-      var56.x4[2] = var92.x4[2] + var55.x4[2];
-      var56.x4[3] = var92.x4[3] + var55.x4[3];
-      /* 42: storel */
-      ptr0[i] = var56;
-    }
-  }
-
-}
-
-void
-cogorc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_AYUV_ARGB");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_ARGB);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_constant (p, 1, 0x00000008, "c1");
-      orc_program_add_constant (p, 4, 0x00000080, "c2");
-      orc_program_add_constant (p, 4, 0x0000002a, "c3");
-      orc_program_add_constant (p, 4, 0x00000067, "c4");
-      orc_program_add_constant (p, 4, 0x00000004, "c5");
-      orc_program_add_constant (p, 4, 0x00000064, "c6");
-      orc_program_add_constant (p, 4, 0x00000068, "c7");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-      orc_program_add_temporary (p, 1, "t5");
-      orc_program_add_temporary (p, 1, "t6");
-      orc_program_add_temporary (p, 2, "t7");
-      orc_program_add_temporary (p, 2, "t8");
-      orc_program_add_temporary (p, 2, "t9");
-      orc_program_add_temporary (p, 2, "t10");
-      orc_program_add_temporary (p, 2, "t11");
-      orc_program_add_temporary (p, 2, "t12");
-      orc_program_add_temporary (p, 1, "t13");
-      orc_program_add_temporary (p, 1, "t14");
-      orc_program_add_temporary (p, 1, "t15");
-      orc_program_add_temporary (p, 4, "t16");
-
-      orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
-          ORC_VAR_T9, ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
-          ORC_VAR_T8, ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3,
-          ORC_VAR_T13, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T14,
-          ORC_VAR_T15, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_AYUV_BGRA */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var48;
-  orc_union32 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union32 var55;
-  orc_union32 var56;
-  orc_union32 var57;
-  orc_union16 var58;
-  orc_union16 var59;
-  orc_int8 var60;
-  orc_int8 var61;
-  orc_int8 var62;
-  orc_int8 var63;
-  orc_union16 var64;
-  orc_union16 var65;
-  orc_union16 var66;
-  orc_union16 var67;
-  orc_union16 var68;
-  orc_union16 var69;
-  orc_union16 var70;
-  orc_union16 var71;
-  orc_union16 var72;
-  orc_union16 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union16 var76;
-  orc_union16 var77;
-  orc_union16 var78;
-  orc_union16 var79;
-  orc_union16 var80;
-  orc_union16 var81;
-  orc_union16 var82;
-  orc_union16 var83;
-  orc_union16 var84;
-  orc_union16 var85;
-  orc_union16 var86;
-  orc_int8 var87;
-  orc_int8 var88;
-  orc_int8 var89;
-  orc_union16 var90;
-  orc_union16 var91;
-  orc_union32 var92;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-    /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
-    /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
-    /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
-    /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
-    /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
-    /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var48 = ptr4[i];
-      /* 2: subb */
-      var57.x4[0] = var48.x4[0] - var49.x4[0];
-      var57.x4[1] = var48.x4[1] - var49.x4[1];
-      var57.x4[2] = var48.x4[2] - var49.x4[2];
-      var57.x4[3] = var48.x4[3] - var49.x4[3];
-      /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
-      /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
-      /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
-      /* 6: convsbw */
-      var64.i = var60;
-      /* 7: convsbw */
-      var65.i = var63;
-      /* 8: convsbw */
-      var66.i = var62;
-      /* 10: mullw */
-      var67.i = (var64.i * var50.i) & 0xffff;
-      /* 11: shrsw */
-      var68.i = var67.i >> 8;
-      /* 12: addssw */
-      var69.i = ORC_CLAMP_SW (var64.i + var68.i);
-      /* 13: addssw */
-      var70.i = ORC_CLAMP_SW (var69.i + var66.i);
-      /* 15: mullw */
-      var71.i = (var66.i * var51.i) & 0xffff;
-      /* 16: shrsw */
-      var72.i = var71.i >> 8;
-      /* 17: subssw */
-      var73.i = ORC_CLAMP_SW (var70.i - var72.i);
-      /* 18: addssw */
-      var74.i = ORC_CLAMP_SW (var73.i + var66.i);
-      /* 19: addssw */
-      var75.i = ORC_CLAMP_SW (var69.i + var65.i);
-      /* 20: addssw */
-      var76.i = ORC_CLAMP_SW (var75.i + var65.i);
-      /* 22: mullw */
-      var77.i = (var65.i * var52.i) & 0xffff;
-      /* 23: shrsw */
-      var78.i = var77.i >> 8;
-      /* 24: addssw */
-      var79.i = ORC_CLAMP_SW (var76.i + var78.i);
-      /* 26: mullw */
-      var80.i = (var65.i * var53.i) & 0xffff;
-      /* 27: shrsw */
-      var81.i = var80.i >> 8;
-      /* 28: subssw */
-      var82.i = ORC_CLAMP_SW (var69.i - var81.i);
-      /* 30: mullw */
-      var83.i = (var66.i * var54.i) & 0xffff;
-      /* 31: shrsw */
-      var84.i = var83.i >> 8;
-      /* 32: subssw */
-      var85.i = ORC_CLAMP_SW (var82.i - var84.i);
-      /* 33: subssw */
-      var86.i = ORC_CLAMP_SW (var85.i - var84.i);
-      /* 34: convssswb */
-      var87 = ORC_CLAMP_SB (var74.i);
-      /* 35: convssswb */
-      var88 = ORC_CLAMP_SB (var86.i);
-      /* 36: convssswb */
-      var89 = ORC_CLAMP_SB (var79.i);
-      /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var89;
-        _dest.x2[1] = var88;
-        var90.i = _dest.i;
-      }
-      /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var87;
-        _dest.x2[1] = var61;
-        var91.i = _dest.i;
-      }
-      /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
-      /* 41: addb */
-      var56.x4[0] = var92.x4[0] + var55.x4[0];
-      var56.x4[1] = var92.x4[1] + var55.x4[1];
-      var56.x4[2] = var92.x4[2] + var55.x4[2];
-      var56.x4[3] = var92.x4[3] + var55.x4[3];
-      /* 42: storel */
-      ptr0[i] = var56;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var48;
-  orc_union32 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union32 var55;
-  orc_union32 var56;
-  orc_union32 var57;
-  orc_union16 var58;
-  orc_union16 var59;
-  orc_int8 var60;
-  orc_int8 var61;
-  orc_int8 var62;
-  orc_int8 var63;
-  orc_union16 var64;
-  orc_union16 var65;
-  orc_union16 var66;
-  orc_union16 var67;
-  orc_union16 var68;
-  orc_union16 var69;
-  orc_union16 var70;
-  orc_union16 var71;
-  orc_union16 var72;
-  orc_union16 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union16 var76;
-  orc_union16 var77;
-  orc_union16 var78;
-  orc_union16 var79;
-  orc_union16 var80;
-  orc_union16 var81;
-  orc_union16 var82;
-  orc_union16 var83;
-  orc_union16 var84;
-  orc_union16 var85;
-  orc_union16 var86;
-  orc_int8 var87;
-  orc_int8 var88;
-  orc_int8 var89;
-  orc_union16 var90;
-  orc_union16 var91;
-  orc_union32 var92;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-    /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
-    /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
-    /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
-    /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
-    /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
-    /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var48 = ptr4[i];
-      /* 2: subb */
-      var57.x4[0] = var48.x4[0] - var49.x4[0];
-      var57.x4[1] = var48.x4[1] - var49.x4[1];
-      var57.x4[2] = var48.x4[2] - var49.x4[2];
-      var57.x4[3] = var48.x4[3] - var49.x4[3];
-      /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
-      /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
-      /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
-      /* 6: convsbw */
-      var64.i = var60;
-      /* 7: convsbw */
-      var65.i = var63;
-      /* 8: convsbw */
-      var66.i = var62;
-      /* 10: mullw */
-      var67.i = (var64.i * var50.i) & 0xffff;
-      /* 11: shrsw */
-      var68.i = var67.i >> 8;
-      /* 12: addssw */
-      var69.i = ORC_CLAMP_SW (var64.i + var68.i);
-      /* 13: addssw */
-      var70.i = ORC_CLAMP_SW (var69.i + var66.i);
-      /* 15: mullw */
-      var71.i = (var66.i * var51.i) & 0xffff;
-      /* 16: shrsw */
-      var72.i = var71.i >> 8;
-      /* 17: subssw */
-      var73.i = ORC_CLAMP_SW (var70.i - var72.i);
-      /* 18: addssw */
-      var74.i = ORC_CLAMP_SW (var73.i + var66.i);
-      /* 19: addssw */
-      var75.i = ORC_CLAMP_SW (var69.i + var65.i);
-      /* 20: addssw */
-      var76.i = ORC_CLAMP_SW (var75.i + var65.i);
-      /* 22: mullw */
-      var77.i = (var65.i * var52.i) & 0xffff;
-      /* 23: shrsw */
-      var78.i = var77.i >> 8;
-      /* 24: addssw */
-      var79.i = ORC_CLAMP_SW (var76.i + var78.i);
-      /* 26: mullw */
-      var80.i = (var65.i * var53.i) & 0xffff;
-      /* 27: shrsw */
-      var81.i = var80.i >> 8;
-      /* 28: subssw */
-      var82.i = ORC_CLAMP_SW (var69.i - var81.i);
-      /* 30: mullw */
-      var83.i = (var66.i * var54.i) & 0xffff;
-      /* 31: shrsw */
-      var84.i = var83.i >> 8;
-      /* 32: subssw */
-      var85.i = ORC_CLAMP_SW (var82.i - var84.i);
-      /* 33: subssw */
-      var86.i = ORC_CLAMP_SW (var85.i - var84.i);
-      /* 34: convssswb */
-      var87 = ORC_CLAMP_SB (var74.i);
-      /* 35: convssswb */
-      var88 = ORC_CLAMP_SB (var86.i);
-      /* 36: convssswb */
-      var89 = ORC_CLAMP_SB (var79.i);
-      /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var89;
-        _dest.x2[1] = var88;
-        var90.i = _dest.i;
-      }
-      /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var87;
-        _dest.x2[1] = var61;
-        var91.i = _dest.i;
-      }
-      /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
-      /* 41: addb */
-      var56.x4[0] = var92.x4[0] + var55.x4[0];
-      var56.x4[1] = var92.x4[1] + var55.x4[1];
-      var56.x4[2] = var92.x4[2] + var55.x4[2];
-      var56.x4[3] = var92.x4[3] + var55.x4[3];
-      /* 42: storel */
-      ptr0[i] = var56;
-    }
-  }
-
-}
-
-void
-cogorc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_AYUV_BGRA");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_BGRA);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_constant (p, 1, 0x00000008, "c1");
-      orc_program_add_constant (p, 4, 0x00000080, "c2");
-      orc_program_add_constant (p, 4, 0x0000002a, "c3");
-      orc_program_add_constant (p, 4, 0x00000067, "c4");
-      orc_program_add_constant (p, 4, 0x00000004, "c5");
-      orc_program_add_constant (p, 4, 0x00000064, "c6");
-      orc_program_add_constant (p, 4, 0x00000068, "c7");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-      orc_program_add_temporary (p, 1, "t5");
-      orc_program_add_temporary (p, 1, "t6");
-      orc_program_add_temporary (p, 2, "t7");
-      orc_program_add_temporary (p, 2, "t8");
-      orc_program_add_temporary (p, 2, "t9");
-      orc_program_add_temporary (p, 2, "t10");
-      orc_program_add_temporary (p, 2, "t11");
-      orc_program_add_temporary (p, 2, "t12");
-      orc_program_add_temporary (p, 1, "t13");
-      orc_program_add_temporary (p, 1, "t14");
-      orc_program_add_temporary (p, 1, "t15");
-      orc_program_add_temporary (p, 4, "t16");
-
-      orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
-          ORC_VAR_T9, ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
-          ORC_VAR_T8, ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T15,
-          ORC_VAR_T14, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T13,
-          ORC_VAR_T3, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_AYUV_ABGR */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var48;
-  orc_union32 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union32 var55;
-  orc_union32 var56;
-  orc_union32 var57;
-  orc_union16 var58;
-  orc_union16 var59;
-  orc_int8 var60;
-  orc_int8 var61;
-  orc_int8 var62;
-  orc_int8 var63;
-  orc_union16 var64;
-  orc_union16 var65;
-  orc_union16 var66;
-  orc_union16 var67;
-  orc_union16 var68;
-  orc_union16 var69;
-  orc_union16 var70;
-  orc_union16 var71;
-  orc_union16 var72;
-  orc_union16 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union16 var76;
-  orc_union16 var77;
-  orc_union16 var78;
-  orc_union16 var79;
-  orc_union16 var80;
-  orc_union16 var81;
-  orc_union16 var82;
-  orc_union16 var83;
-  orc_union16 var84;
-  orc_union16 var85;
-  orc_union16 var86;
-  orc_int8 var87;
-  orc_int8 var88;
-  orc_int8 var89;
-  orc_union16 var90;
-  orc_union16 var91;
-  orc_union32 var92;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-    /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
-    /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
-    /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
-    /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
-    /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
-    /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var48 = ptr4[i];
-      /* 2: subb */
-      var57.x4[0] = var48.x4[0] - var49.x4[0];
-      var57.x4[1] = var48.x4[1] - var49.x4[1];
-      var57.x4[2] = var48.x4[2] - var49.x4[2];
-      var57.x4[3] = var48.x4[3] - var49.x4[3];
-      /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
-      /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
-      /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
-      /* 6: convsbw */
-      var64.i = var60;
-      /* 7: convsbw */
-      var65.i = var63;
-      /* 8: convsbw */
-      var66.i = var62;
-      /* 10: mullw */
-      var67.i = (var64.i * var50.i) & 0xffff;
-      /* 11: shrsw */
-      var68.i = var67.i >> 8;
-      /* 12: addssw */
-      var69.i = ORC_CLAMP_SW (var64.i + var68.i);
-      /* 13: addssw */
-      var70.i = ORC_CLAMP_SW (var69.i + var66.i);
-      /* 15: mullw */
-      var71.i = (var66.i * var51.i) & 0xffff;
-      /* 16: shrsw */
-      var72.i = var71.i >> 8;
-      /* 17: subssw */
-      var73.i = ORC_CLAMP_SW (var70.i - var72.i);
-      /* 18: addssw */
-      var74.i = ORC_CLAMP_SW (var73.i + var66.i);
-      /* 19: addssw */
-      var75.i = ORC_CLAMP_SW (var69.i + var65.i);
-      /* 20: addssw */
-      var76.i = ORC_CLAMP_SW (var75.i + var65.i);
-      /* 22: mullw */
-      var77.i = (var65.i * var52.i) & 0xffff;
-      /* 23: shrsw */
-      var78.i = var77.i >> 8;
-      /* 24: addssw */
-      var79.i = ORC_CLAMP_SW (var76.i + var78.i);
-      /* 26: mullw */
-      var80.i = (var65.i * var53.i) & 0xffff;
-      /* 27: shrsw */
-      var81.i = var80.i >> 8;
-      /* 28: subssw */
-      var82.i = ORC_CLAMP_SW (var69.i - var81.i);
-      /* 30: mullw */
-      var83.i = (var66.i * var54.i) & 0xffff;
-      /* 31: shrsw */
-      var84.i = var83.i >> 8;
-      /* 32: subssw */
-      var85.i = ORC_CLAMP_SW (var82.i - var84.i);
-      /* 33: subssw */
-      var86.i = ORC_CLAMP_SW (var85.i - var84.i);
-      /* 34: convssswb */
-      var87 = ORC_CLAMP_SB (var74.i);
-      /* 35: convssswb */
-      var88 = ORC_CLAMP_SB (var86.i);
-      /* 36: convssswb */
-      var89 = ORC_CLAMP_SB (var79.i);
-      /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var61;
-        _dest.x2[1] = var89;
-        var90.i = _dest.i;
-      }
-      /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var88;
-        _dest.x2[1] = var87;
-        var91.i = _dest.i;
-      }
-      /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
-      /* 41: addb */
-      var56.x4[0] = var92.x4[0] + var55.x4[0];
-      var56.x4[1] = var92.x4[1] + var55.x4[1];
-      var56.x4[2] = var92.x4[2] + var55.x4[2];
-      var56.x4[3] = var92.x4[3] + var55.x4[3];
-      /* 42: storel */
-      ptr0[i] = var56;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var48;
-  orc_union32 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union32 var55;
-  orc_union32 var56;
-  orc_union32 var57;
-  orc_union16 var58;
-  orc_union16 var59;
-  orc_int8 var60;
-  orc_int8 var61;
-  orc_int8 var62;
-  orc_int8 var63;
-  orc_union16 var64;
-  orc_union16 var65;
-  orc_union16 var66;
-  orc_union16 var67;
-  orc_union16 var68;
-  orc_union16 var69;
-  orc_union16 var70;
-  orc_union16 var71;
-  orc_union16 var72;
-  orc_union16 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union16 var76;
-  orc_union16 var77;
-  orc_union16 var78;
-  orc_union16 var79;
-  orc_union16 var80;
-  orc_union16 var81;
-  orc_union16 var82;
-  orc_union16 var83;
-  orc_union16 var84;
-  orc_union16 var85;
-  orc_union16 var86;
-  orc_int8 var87;
-  orc_int8 var88;
-  orc_int8 var89;
-  orc_union16 var90;
-  orc_union16 var91;
-  orc_union32 var92;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-    /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
-    /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
-    /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
-    /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
-    /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
-    /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var48 = ptr4[i];
-      /* 2: subb */
-      var57.x4[0] = var48.x4[0] - var49.x4[0];
-      var57.x4[1] = var48.x4[1] - var49.x4[1];
-      var57.x4[2] = var48.x4[2] - var49.x4[2];
-      var57.x4[3] = var48.x4[3] - var49.x4[3];
-      /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
-      /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
-      /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
-      /* 6: convsbw */
-      var64.i = var60;
-      /* 7: convsbw */
-      var65.i = var63;
-      /* 8: convsbw */
-      var66.i = var62;
-      /* 10: mullw */
-      var67.i = (var64.i * var50.i) & 0xffff;
-      /* 11: shrsw */
-      var68.i = var67.i >> 8;
-      /* 12: addssw */
-      var69.i = ORC_CLAMP_SW (var64.i + var68.i);
-      /* 13: addssw */
-      var70.i = ORC_CLAMP_SW (var69.i + var66.i);
-      /* 15: mullw */
-      var71.i = (var66.i * var51.i) & 0xffff;
-      /* 16: shrsw */
-      var72.i = var71.i >> 8;
-      /* 17: subssw */
-      var73.i = ORC_CLAMP_SW (var70.i - var72.i);
-      /* 18: addssw */
-      var74.i = ORC_CLAMP_SW (var73.i + var66.i);
-      /* 19: addssw */
-      var75.i = ORC_CLAMP_SW (var69.i + var65.i);
-      /* 20: addssw */
-      var76.i = ORC_CLAMP_SW (var75.i + var65.i);
-      /* 22: mullw */
-      var77.i = (var65.i * var52.i) & 0xffff;
-      /* 23: shrsw */
-      var78.i = var77.i >> 8;
-      /* 24: addssw */
-      var79.i = ORC_CLAMP_SW (var76.i + var78.i);
-      /* 26: mullw */
-      var80.i = (var65.i * var53.i) & 0xffff;
-      /* 27: shrsw */
-      var81.i = var80.i >> 8;
-      /* 28: subssw */
-      var82.i = ORC_CLAMP_SW (var69.i - var81.i);
-      /* 30: mullw */
-      var83.i = (var66.i * var54.i) & 0xffff;
-      /* 31: shrsw */
-      var84.i = var83.i >> 8;
-      /* 32: subssw */
-      var85.i = ORC_CLAMP_SW (var82.i - var84.i);
-      /* 33: subssw */
-      var86.i = ORC_CLAMP_SW (var85.i - var84.i);
-      /* 34: convssswb */
-      var87 = ORC_CLAMP_SB (var74.i);
-      /* 35: convssswb */
-      var88 = ORC_CLAMP_SB (var86.i);
-      /* 36: convssswb */
-      var89 = ORC_CLAMP_SB (var79.i);
-      /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var61;
-        _dest.x2[1] = var89;
-        var90.i = _dest.i;
-      }
-      /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var88;
-        _dest.x2[1] = var87;
-        var91.i = _dest.i;
-      }
-      /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
-      /* 41: addb */
-      var56.x4[0] = var92.x4[0] + var55.x4[0];
-      var56.x4[1] = var92.x4[1] + var55.x4[1];
-      var56.x4[2] = var92.x4[2] + var55.x4[2];
-      var56.x4[3] = var92.x4[3] + var55.x4[3];
-      /* 42: storel */
-      ptr0[i] = var56;
-    }
-  }
-
-}
-
-void
-cogorc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_AYUV_ABGR");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_ABGR);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_constant (p, 1, 0x00000008, "c1");
-      orc_program_add_constant (p, 4, 0x00000080, "c2");
-      orc_program_add_constant (p, 4, 0x0000002a, "c3");
-      orc_program_add_constant (p, 4, 0x00000067, "c4");
-      orc_program_add_constant (p, 4, 0x00000004, "c5");
-      orc_program_add_constant (p, 4, 0x00000064, "c6");
-      orc_program_add_constant (p, 4, 0x00000068, "c7");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-      orc_program_add_temporary (p, 1, "t5");
-      orc_program_add_temporary (p, 1, "t6");
-      orc_program_add_temporary (p, 2, "t7");
-      orc_program_add_temporary (p, 2, "t8");
-      orc_program_add_temporary (p, 2, "t9");
-      orc_program_add_temporary (p, 2, "t10");
-      orc_program_add_temporary (p, 2, "t11");
-      orc_program_add_temporary (p, 2, "t12");
-      orc_program_add_temporary (p, 1, "t13");
-      orc_program_add_temporary (p, 1, "t14");
-      orc_program_add_temporary (p, 1, "t15");
-      orc_program_add_temporary (p, 4, "t16");
-
-      orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
-          ORC_VAR_T9, ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
-          ORC_VAR_T8, ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3,
-          ORC_VAR_T15, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T14,
-          ORC_VAR_T13, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_AYUV_RGBA */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  int i;
-  int j;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var48;
-  orc_union32 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union32 var55;
-  orc_union32 var56;
-  orc_union32 var57;
-  orc_union16 var58;
-  orc_union16 var59;
-  orc_int8 var60;
-  orc_int8 var61;
-  orc_int8 var62;
-  orc_int8 var63;
-  orc_union16 var64;
-  orc_union16 var65;
-  orc_union16 var66;
-  orc_union16 var67;
-  orc_union16 var68;
-  orc_union16 var69;
-  orc_union16 var70;
-  orc_union16 var71;
-  orc_union16 var72;
-  orc_union16 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union16 var76;
-  orc_union16 var77;
-  orc_union16 var78;
-  orc_union16 var79;
-  orc_union16 var80;
-  orc_union16 var81;
-  orc_union16 var82;
-  orc_union16 var83;
-  orc_union16 var84;
-  orc_union16 var85;
-  orc_union16 var86;
-  orc_int8 var87;
-  orc_int8 var88;
-  orc_int8 var89;
-  orc_union16 var90;
-  orc_union16 var91;
-  orc_union32 var92;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (d1, d1_stride * j);
-    ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j);
-
-    /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
-    /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
-    /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
-    /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
-    /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
-    /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var48 = ptr4[i];
-      /* 2: subb */
-      var57.x4[0] = var48.x4[0] - var49.x4[0];
-      var57.x4[1] = var48.x4[1] - var49.x4[1];
-      var57.x4[2] = var48.x4[2] - var49.x4[2];
-      var57.x4[3] = var48.x4[3] - var49.x4[3];
-      /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
-      /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
-      /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
-      /* 6: convsbw */
-      var64.i = var60;
-      /* 7: convsbw */
-      var65.i = var63;
-      /* 8: convsbw */
-      var66.i = var62;
-      /* 10: mullw */
-      var67.i = (var64.i * var50.i) & 0xffff;
-      /* 11: shrsw */
-      var68.i = var67.i >> 8;
-      /* 12: addssw */
-      var69.i = ORC_CLAMP_SW (var64.i + var68.i);
-      /* 13: addssw */
-      var70.i = ORC_CLAMP_SW (var69.i + var66.i);
-      /* 15: mullw */
-      var71.i = (var66.i * var51.i) & 0xffff;
-      /* 16: shrsw */
-      var72.i = var71.i >> 8;
-      /* 17: subssw */
-      var73.i = ORC_CLAMP_SW (var70.i - var72.i);
-      /* 18: addssw */
-      var74.i = ORC_CLAMP_SW (var73.i + var66.i);
-      /* 19: addssw */
-      var75.i = ORC_CLAMP_SW (var69.i + var65.i);
-      /* 20: addssw */
-      var76.i = ORC_CLAMP_SW (var75.i + var65.i);
-      /* 22: mullw */
-      var77.i = (var65.i * var52.i) & 0xffff;
-      /* 23: shrsw */
-      var78.i = var77.i >> 8;
-      /* 24: addssw */
-      var79.i = ORC_CLAMP_SW (var76.i + var78.i);
-      /* 26: mullw */
-      var80.i = (var65.i * var53.i) & 0xffff;
-      /* 27: shrsw */
-      var81.i = var80.i >> 8;
-      /* 28: subssw */
-      var82.i = ORC_CLAMP_SW (var69.i - var81.i);
-      /* 30: mullw */
-      var83.i = (var66.i * var54.i) & 0xffff;
-      /* 31: shrsw */
-      var84.i = var83.i >> 8;
-      /* 32: subssw */
-      var85.i = ORC_CLAMP_SW (var82.i - var84.i);
-      /* 33: subssw */
-      var86.i = ORC_CLAMP_SW (var85.i - var84.i);
-      /* 34: convssswb */
-      var87 = ORC_CLAMP_SB (var74.i);
-      /* 35: convssswb */
-      var88 = ORC_CLAMP_SB (var86.i);
-      /* 36: convssswb */
-      var89 = ORC_CLAMP_SB (var79.i);
-      /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var87;
-        _dest.x2[1] = var88;
-        var90.i = _dest.i;
-      }
-      /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var89;
-        _dest.x2[1] = var61;
-        var91.i = _dest.i;
-      }
-      /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
-      /* 41: addb */
-      var56.x4[0] = var92.x4[0] + var55.x4[0];
-      var56.x4[1] = var92.x4[1] + var55.x4[1];
-      var56.x4[2] = var92.x4[2] + var55.x4[2];
-      var56.x4[3] = var92.x4[3] + var55.x4[3];
-      /* 42: storel */
-      ptr0[i] = var56;
-    }
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int j;
-  int n = ex->n;
-  int m = ex->params[ORC_VAR_A1];
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var48;
-  orc_union32 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_union32 var55;
-  orc_union32 var56;
-  orc_union32 var57;
-  orc_union16 var58;
-  orc_union16 var59;
-  orc_int8 var60;
-  orc_int8 var61;
-  orc_int8 var62;
-  orc_int8 var63;
-  orc_union16 var64;
-  orc_union16 var65;
-  orc_union16 var66;
-  orc_union16 var67;
-  orc_union16 var68;
-  orc_union16 var69;
-  orc_union16 var70;
-  orc_union16 var71;
-  orc_union16 var72;
-  orc_union16 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union16 var76;
-  orc_union16 var77;
-  orc_union16 var78;
-  orc_union16 var79;
-  orc_union16 var80;
-  orc_union16 var81;
-  orc_union16 var82;
-  orc_union16 var83;
-  orc_union16 var84;
-  orc_union16 var85;
-  orc_union16 var86;
-  orc_int8 var87;
-  orc_int8 var88;
-  orc_int8 var89;
-  orc_union16 var90;
-  orc_union16 var91;
-  orc_union32 var92;
-
-  for (j = 0; j < m; j++) {
-    ptr0 = ORC_PTR_OFFSET (ex->arrays[0], ex->params[0] * j);
-    ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j);
-
-    /* 1: loadpb */
-    var49.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var49.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    /* 9: loadpw */
-    var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */
-    /* 14: loadpw */
-    var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */
-    /* 21: loadpw */
-    var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */
-    /* 25: loadpw */
-    var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */
-    /* 29: loadpw */
-    var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */
-    /* 40: loadpb */
-    var55.x4[0] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[1] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[2] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-    var55.x4[3] = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-
-    for (i = 0; i < n; i++) {
-      /* 0: loadl */
-      var48 = ptr4[i];
-      /* 2: subb */
-      var57.x4[0] = var48.x4[0] - var49.x4[0];
-      var57.x4[1] = var48.x4[1] - var49.x4[1];
-      var57.x4[2] = var48.x4[2] - var49.x4[2];
-      var57.x4[3] = var48.x4[3] - var49.x4[3];
-      /* 3: splitlw */
-      {
-        orc_union32 _src;
-        _src.i = var57.i;
-        var58.i = _src.x2[1];
-        var59.i = _src.x2[0];
-      }
-      /* 4: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var59.i;
-        var60 = _src.x2[1];
-        var61 = _src.x2[0];
-      }
-      /* 5: splitwb */
-      {
-        orc_union16 _src;
-        _src.i = var58.i;
-        var62 = _src.x2[1];
-        var63 = _src.x2[0];
-      }
-      /* 6: convsbw */
-      var64.i = var60;
-      /* 7: convsbw */
-      var65.i = var63;
-      /* 8: convsbw */
-      var66.i = var62;
-      /* 10: mullw */
-      var67.i = (var64.i * var50.i) & 0xffff;
-      /* 11: shrsw */
-      var68.i = var67.i >> 8;
-      /* 12: addssw */
-      var69.i = ORC_CLAMP_SW (var64.i + var68.i);
-      /* 13: addssw */
-      var70.i = ORC_CLAMP_SW (var69.i + var66.i);
-      /* 15: mullw */
-      var71.i = (var66.i * var51.i) & 0xffff;
-      /* 16: shrsw */
-      var72.i = var71.i >> 8;
-      /* 17: subssw */
-      var73.i = ORC_CLAMP_SW (var70.i - var72.i);
-      /* 18: addssw */
-      var74.i = ORC_CLAMP_SW (var73.i + var66.i);
-      /* 19: addssw */
-      var75.i = ORC_CLAMP_SW (var69.i + var65.i);
-      /* 20: addssw */
-      var76.i = ORC_CLAMP_SW (var75.i + var65.i);
-      /* 22: mullw */
-      var77.i = (var65.i * var52.i) & 0xffff;
-      /* 23: shrsw */
-      var78.i = var77.i >> 8;
-      /* 24: addssw */
-      var79.i = ORC_CLAMP_SW (var76.i + var78.i);
-      /* 26: mullw */
-      var80.i = (var65.i * var53.i) & 0xffff;
-      /* 27: shrsw */
-      var81.i = var80.i >> 8;
-      /* 28: subssw */
-      var82.i = ORC_CLAMP_SW (var69.i - var81.i);
-      /* 30: mullw */
-      var83.i = (var66.i * var54.i) & 0xffff;
-      /* 31: shrsw */
-      var84.i = var83.i >> 8;
-      /* 32: subssw */
-      var85.i = ORC_CLAMP_SW (var82.i - var84.i);
-      /* 33: subssw */
-      var86.i = ORC_CLAMP_SW (var85.i - var84.i);
-      /* 34: convssswb */
-      var87 = ORC_CLAMP_SB (var74.i);
-      /* 35: convssswb */
-      var88 = ORC_CLAMP_SB (var86.i);
-      /* 36: convssswb */
-      var89 = ORC_CLAMP_SB (var79.i);
-      /* 37: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var87;
-        _dest.x2[1] = var88;
-        var90.i = _dest.i;
-      }
-      /* 38: mergebw */
-      {
-        orc_union16 _dest;
-        _dest.x2[0] = var89;
-        _dest.x2[1] = var61;
-        var91.i = _dest.i;
-      }
-      /* 39: mergewl */
-      {
-        orc_union32 _dest;
-        _dest.x2[0] = var90.i;
-        _dest.x2[1] = var91.i;
-        var92.i = _dest.i;
-      }
-      /* 41: addb */
-      var56.x4[0] = var92.x4[0] + var55.x4[0];
-      var56.x4[1] = var92.x4[1] + var55.x4[1];
-      var56.x4[2] = var92.x4[2] + var55.x4[2];
-      var56.x4[3] = var92.x4[3] + var55.x4[3];
-      /* 42: storel */
-      ptr0[i] = var56;
-    }
-  }
-
-}
-
-void
-cogorc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1, int d1_stride,
-    const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_2d (p);
-      orc_program_set_name (p, "cogorc_convert_AYUV_RGBA");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_AYUV_RGBA);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_constant (p, 1, 0x00000008, "c1");
-      orc_program_add_constant (p, 4, 0x00000080, "c2");
-      orc_program_add_constant (p, 4, 0x0000002a, "c3");
-      orc_program_add_constant (p, 4, 0x00000067, "c4");
-      orc_program_add_constant (p, 4, 0x00000004, "c5");
-      orc_program_add_constant (p, 4, 0x00000064, "c6");
-      orc_program_add_constant (p, 4, 0x00000068, "c7");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-      orc_program_add_temporary (p, 1, "t5");
-      orc_program_add_temporary (p, 1, "t6");
-      orc_program_add_temporary (p, 2, "t7");
-      orc_program_add_temporary (p, 2, "t8");
-      orc_program_add_temporary (p, 2, "t9");
-      orc_program_add_temporary (p, 2, "t10");
-      orc_program_add_temporary (p, 2, "t11");
-      orc_program_add_temporary (p, 2, "t12");
-      orc_program_add_temporary (p, 1, "t13");
-      orc_program_add_temporary (p, 1, "t14");
-      orc_program_add_temporary (p, 1, "t15");
-      orc_program_add_temporary (p, 4, "t16");
-
-      orc_program_append_2 (p, "subb", 2, 47, ORC_VAR_S1, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T1, ORC_VAR_T2, 47,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T9, ORC_VAR_T6, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T7, ORC_VAR_T9,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T10, ORC_VAR_T10,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
-          ORC_VAR_T9, ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T7, ORC_VAR_T8,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
-          ORC_VAR_T8, ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T12, ORC_VAR_T12,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T8, ORC_VAR_C6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T7, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T9, ORC_VAR_C7,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T11, ORC_VAR_T11,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T14, ORC_VAR_T11,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T15, ORC_VAR_T12,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T13,
-          ORC_VAR_T14, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T15,
-          ORC_VAR_T3, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, 47, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ORC_EXECUTOR_M (ex) = m;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->params[ORC_VAR_D1] = d1_stride;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->params[ORC_VAR_S1] = s1_stride;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_I420_BGRA */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_int8 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_int8 var54;
-  orc_union32 var55;
-  orc_union32 var56;
-  orc_int8 var57;
-  orc_union16 var58;
-  orc_int8 var59;
-  orc_int8 var60;
-  orc_union16 var61;
-  orc_int8 var62;
-  orc_int8 var63;
-  orc_union16 var64;
-  orc_union16 var65;
-  orc_union16 var66;
-  orc_union16 var67;
-  orc_union16 var68;
-  orc_union16 var69;
-  orc_union16 var70;
-  orc_union16 var71;
-  orc_union16 var72;
-  orc_union16 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union16 var76;
-  orc_union16 var77;
-  orc_union16 var78;
-  orc_union16 var79;
-  orc_union16 var80;
-  orc_union16 var81;
-  orc_union16 var82;
-  orc_union16 var83;
-  orc_union16 var84;
-  orc_int8 var85;
-  orc_int8 var86;
-  orc_int8 var87;
-  orc_union16 var88;
-  orc_union16 var89;
-  orc_union32 var90;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-  /* 1: loadpb */
-  var46 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 5: loadpb */
-  var47 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 9: loadpb */
-  var48 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 12: loadpw */
-  var49.i = (int) 0x0000002a;   /* 42 or 2.07508e-322f */
-  /* 17: loadpw */
-  var50.i = (int) 0x00000067;   /* 103 or 5.08888e-322f */
-  /* 24: loadpw */
-  var51.i = (int) 0x00000004;   /* 4 or 1.97626e-323f */
-  /* 28: loadpw */
-  var52.i = (int) 0x00000064;   /* 100 or 4.94066e-322f */
-  /* 32: loadpw */
-  var53.i = (int) 0x00000068;   /* 104 or 5.13828e-322f */
-  /* 41: loadpb */
-  var54 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-  /* 44: loadpb */
-  var55.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var55.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var55.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var55.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var45 = ptr4[i];
-    /* 2: subb */
-    var57 = var45 - var46;
-    /* 3: convsbw */
-    var58.i = var57;
-    /* 4: loadupib */
-    var59 =
-        (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
-        1) >> 1 : ptr5[i >> 1];
-    /* 6: subb */
-    var60 = var59 - var47;
-    /* 7: convsbw */
-    var61.i = var60;
-    /* 8: loadupib */
-    var62 =
-        (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
-        1) >> 1 : ptr6[i >> 1];
-    /* 10: subb */
-    var63 = var62 - var48;
-    /* 11: convsbw */
-    var64.i = var63;
-    /* 13: mullw */
-    var65.i = (var58.i * var49.i) & 0xffff;
-    /* 14: shrsw */
-    var66.i = var65.i >> 8;
-    /* 15: addssw */
-    var67.i = ORC_CLAMP_SW (var58.i + var66.i);
-    /* 16: addssw */
-    var68.i = ORC_CLAMP_SW (var67.i + var64.i);
-    /* 18: mullw */
-    var69.i = (var64.i * var50.i) & 0xffff;
-    /* 19: shrsw */
-    var70.i = var69.i >> 8;
-    /* 20: subssw */
-    var71.i = ORC_CLAMP_SW (var68.i - var70.i);
-    /* 21: addssw */
-    var72.i = ORC_CLAMP_SW (var71.i + var64.i);
-    /* 22: addssw */
-    var73.i = ORC_CLAMP_SW (var67.i + var61.i);
-    /* 23: addssw */
-    var74.i = ORC_CLAMP_SW (var73.i + var61.i);
-    /* 25: mullw */
-    var75.i = (var61.i * var51.i) & 0xffff;
-    /* 26: shrsw */
-    var76.i = var75.i >> 8;
-    /* 27: addssw */
-    var77.i = ORC_CLAMP_SW (var74.i + var76.i);
-    /* 29: mullw */
-    var78.i = (var61.i * var52.i) & 0xffff;
-    /* 30: shrsw */
-    var79.i = var78.i >> 8;
-    /* 31: subssw */
-    var80.i = ORC_CLAMP_SW (var67.i - var79.i);
-    /* 33: mullw */
-    var81.i = (var64.i * var53.i) & 0xffff;
-    /* 34: shrsw */
-    var82.i = var81.i >> 8;
-    /* 35: subssw */
-    var83.i = ORC_CLAMP_SW (var80.i - var82.i);
-    /* 36: subssw */
-    var84.i = ORC_CLAMP_SW (var83.i - var82.i);
-    /* 37: convssswb */
-    var85 = ORC_CLAMP_SB (var72.i);
-    /* 38: convssswb */
-    var86 = ORC_CLAMP_SB (var84.i);
-    /* 39: convssswb */
-    var87 = ORC_CLAMP_SB (var77.i);
-    /* 40: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var87;
-      _dest.x2[1] = var86;
-      var88.i = _dest.i;
-    }
-    /* 42: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var85;
-      _dest.x2[1] = var54;
-      var89.i = _dest.i;
-    }
-    /* 43: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var88.i;
-      _dest.x2[1] = var89.i;
-      var90.i = _dest.i;
-    }
-    /* 45: addb */
-    var56.x4[0] = var90.x4[0] + var55.x4[0];
-    var56.x4[1] = var90.x4[1] + var55.x4[1];
-    var56.x4[2] = var90.x4[2] + var55.x4[2];
-    var56.x4[3] = var90.x4[3] + var55.x4[3];
-    /* 46: storel */
-    ptr0[i] = var56;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_I420_BGRA (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_int8 var48;
-  orc_union16 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_int8 var54;
-  orc_union32 var55;
-  orc_union32 var56;
-  orc_int8 var57;
-  orc_union16 var58;
-  orc_int8 var59;
-  orc_int8 var60;
-  orc_union16 var61;
-  orc_int8 var62;
-  orc_int8 var63;
-  orc_union16 var64;
-  orc_union16 var65;
-  orc_union16 var66;
-  orc_union16 var67;
-  orc_union16 var68;
-  orc_union16 var69;
-  orc_union16 var70;
-  orc_union16 var71;
-  orc_union16 var72;
-  orc_union16 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union16 var76;
-  orc_union16 var77;
-  orc_union16 var78;
-  orc_union16 var79;
-  orc_union16 var80;
-  orc_union16 var81;
-  orc_union16 var82;
-  orc_union16 var83;
-  orc_union16 var84;
-  orc_int8 var85;
-  orc_int8 var86;
-  orc_int8 var87;
-  orc_union16 var88;
-  orc_union16 var89;
-  orc_union32 var90;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-  /* 1: loadpb */
-  var46 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 5: loadpb */
-  var47 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 9: loadpb */
-  var48 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 12: loadpw */
-  var49.i = (int) 0x0000002a;   /* 42 or 2.07508e-322f */
-  /* 17: loadpw */
-  var50.i = (int) 0x00000067;   /* 103 or 5.08888e-322f */
-  /* 24: loadpw */
-  var51.i = (int) 0x00000004;   /* 4 or 1.97626e-323f */
-  /* 28: loadpw */
-  var52.i = (int) 0x00000064;   /* 100 or 4.94066e-322f */
-  /* 32: loadpw */
-  var53.i = (int) 0x00000068;   /* 104 or 5.13828e-322f */
-  /* 41: loadpb */
-  var54 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-  /* 44: loadpb */
-  var55.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var55.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var55.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var55.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var45 = ptr4[i];
-    /* 2: subb */
-    var57 = var45 - var46;
-    /* 3: convsbw */
-    var58.i = var57;
-    /* 4: loadupib */
-    var59 =
-        (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
-        1) >> 1 : ptr5[i >> 1];
-    /* 6: subb */
-    var60 = var59 - var47;
-    /* 7: convsbw */
-    var61.i = var60;
-    /* 8: loadupib */
-    var62 =
-        (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
-        1) >> 1 : ptr6[i >> 1];
-    /* 10: subb */
-    var63 = var62 - var48;
-    /* 11: convsbw */
-    var64.i = var63;
-    /* 13: mullw */
-    var65.i = (var58.i * var49.i) & 0xffff;
-    /* 14: shrsw */
-    var66.i = var65.i >> 8;
-    /* 15: addssw */
-    var67.i = ORC_CLAMP_SW (var58.i + var66.i);
-    /* 16: addssw */
-    var68.i = ORC_CLAMP_SW (var67.i + var64.i);
-    /* 18: mullw */
-    var69.i = (var64.i * var50.i) & 0xffff;
-    /* 19: shrsw */
-    var70.i = var69.i >> 8;
-    /* 20: subssw */
-    var71.i = ORC_CLAMP_SW (var68.i - var70.i);
-    /* 21: addssw */
-    var72.i = ORC_CLAMP_SW (var71.i + var64.i);
-    /* 22: addssw */
-    var73.i = ORC_CLAMP_SW (var67.i + var61.i);
-    /* 23: addssw */
-    var74.i = ORC_CLAMP_SW (var73.i + var61.i);
-    /* 25: mullw */
-    var75.i = (var61.i * var51.i) & 0xffff;
-    /* 26: shrsw */
-    var76.i = var75.i >> 8;
-    /* 27: addssw */
-    var77.i = ORC_CLAMP_SW (var74.i + var76.i);
-    /* 29: mullw */
-    var78.i = (var61.i * var52.i) & 0xffff;
-    /* 30: shrsw */
-    var79.i = var78.i >> 8;
-    /* 31: subssw */
-    var80.i = ORC_CLAMP_SW (var67.i - var79.i);
-    /* 33: mullw */
-    var81.i = (var64.i * var53.i) & 0xffff;
-    /* 34: shrsw */
-    var82.i = var81.i >> 8;
-    /* 35: subssw */
-    var83.i = ORC_CLAMP_SW (var80.i - var82.i);
-    /* 36: subssw */
-    var84.i = ORC_CLAMP_SW (var83.i - var82.i);
-    /* 37: convssswb */
-    var85 = ORC_CLAMP_SB (var72.i);
-    /* 38: convssswb */
-    var86 = ORC_CLAMP_SB (var84.i);
-    /* 39: convssswb */
-    var87 = ORC_CLAMP_SB (var77.i);
-    /* 40: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var87;
-      _dest.x2[1] = var86;
-      var88.i = _dest.i;
-    }
-    /* 42: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var85;
-      _dest.x2[1] = var54;
-      var89.i = _dest.i;
-    }
-    /* 43: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var88.i;
-      _dest.x2[1] = var89.i;
-      var90.i = _dest.i;
-    }
-    /* 45: addb */
-    var56.x4[0] = var90.x4[0] + var55.x4[0];
-    var56.x4[1] = var90.x4[1] + var55.x4[1];
-    var56.x4[2] = var90.x4[2] + var55.x4[2];
-    var56.x4[3] = var90.x4[3] + var55.x4[3];
-    /* 46: storel */
-    ptr0[i] = var56;
-  }
-
-}
-
-void
-cogorc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_convert_I420_BGRA");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_I420_BGRA);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 1, 0x00000008, "c1");
-      orc_program_add_constant (p, 1, 0x00000080, "c2");
-      orc_program_add_constant (p, 4, 0x0000002a, "c3");
-      orc_program_add_constant (p, 4, 0x00000067, "c4");
-      orc_program_add_constant (p, 4, 0x00000004, "c5");
-      orc_program_add_constant (p, 4, 0x00000064, "c6");
-      orc_program_add_constant (p, 4, 0x00000068, "c7");
-      orc_program_add_constant (p, 4, 0x000000ff, "c8");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-      orc_program_add_temporary (p, 2, "t5");
-      orc_program_add_temporary (p, 2, "t6");
-      orc_program_add_temporary (p, 2, "t7");
-      orc_program_add_temporary (p, 2, "t8");
-      orc_program_add_temporary (p, 2, "t9");
-      orc_program_add_temporary (p, 1, "t10");
-      orc_program_add_temporary (p, 1, "t11");
-      orc_program_add_temporary (p, 1, "t12");
-      orc_program_add_temporary (p, 4, "t13");
-
-      orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_S1, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S2,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S3,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T4, ORC_VAR_T4, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T4, ORC_VAR_T6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T4, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_C5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_C6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T8, ORC_VAR_T4, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C7,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T10, ORC_VAR_T7,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T11, ORC_VAR_T8,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T12, ORC_VAR_T9,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T12,
-          ORC_VAR_T11, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T10,
-          ORC_VAR_C8, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T13, ORC_VAR_T1,
-          ORC_VAR_T2, ORC_VAR_D1);
-      orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T13, ORC_VAR_C2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_convert_I420_BGRA_avg */
-#ifdef DISABLE_ORC
-void
-cogorc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4,
-    const guint8 * ORC_RESTRICT s5, int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  const orc_int8 *ORC_RESTRICT ptr8;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_int8 var48;
-  orc_int8 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_int8 var55;
-  orc_union32 var56;
-  orc_union32 var57;
-  orc_int8 var58;
-  orc_union16 var59;
-  orc_int8 var60;
-  orc_int8 var61;
-  orc_int8 var62;
-  orc_int8 var63;
-  orc_union16 var64;
-  orc_int8 var65;
-  orc_int8 var66;
-  orc_int8 var67;
-  orc_int8 var68;
-  orc_union16 var69;
-  orc_union16 var70;
-  orc_union16 var71;
-  orc_union16 var72;
-  orc_union16 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union16 var76;
-  orc_union16 var77;
-  orc_union16 var78;
-  orc_union16 var79;
-  orc_union16 var80;
-  orc_union16 var81;
-  orc_union16 var82;
-  orc_union16 var83;
-  orc_union16 var84;
-  orc_union16 var85;
-  orc_union16 var86;
-  orc_union16 var87;
-  orc_union16 var88;
-  orc_union16 var89;
-  orc_int8 var90;
-  orc_int8 var91;
-  orc_int8 var92;
-  orc_union16 var93;
-  orc_union16 var94;
-  orc_union32 var95;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-  ptr7 = (orc_int8 *) s4;
-  ptr8 = (orc_int8 *) s5;
-
-  /* 1: loadpb */
-  var47 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 7: loadpb */
-  var48 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 13: loadpb */
-  var49 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 16: loadpw */
-  var50.i = (int) 0x0000002a;   /* 42 or 2.07508e-322f */
-  /* 21: loadpw */
-  var51.i = (int) 0x00000067;   /* 103 or 5.08888e-322f */
-  /* 28: loadpw */
-  var52.i = (int) 0x00000004;   /* 4 or 1.97626e-323f */
-  /* 32: loadpw */
-  var53.i = (int) 0x00000064;   /* 100 or 4.94066e-322f */
-  /* 36: loadpw */
-  var54.i = (int) 0x00000068;   /* 104 or 5.13828e-322f */
-  /* 45: loadpb */
-  var55 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-  /* 48: loadpb */
-  var56.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var56.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var56.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var56.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var46 = ptr4[i];
-    /* 2: subb */
-    var58 = var46 - var47;
-    /* 3: convsbw */
-    var59.i = var58;
-    /* 4: loadupib */
-    var60 =
-        (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
-        1) >> 1 : ptr5[i >> 1];
-    /* 5: loadupib */
-    var61 =
-        (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
-        1) >> 1 : ptr6[i >> 1];
-    /* 6: avgub */
-    var62 = ((orc_uint8) var60 + (orc_uint8) var61 + 1) >> 1;
-    /* 8: subb */
-    var63 = var62 - var48;
-    /* 9: convsbw */
-    var64.i = var63;
-    /* 10: loadupib */
-    var65 =
-        (i & 1) ? ((orc_uint8) ptr7[i >> 1] + (orc_uint8) ptr7[(i >> 1) + 1] +
-        1) >> 1 : ptr7[i >> 1];
-    /* 11: loadupib */
-    var66 =
-        (i & 1) ? ((orc_uint8) ptr8[i >> 1] + (orc_uint8) ptr8[(i >> 1) + 1] +
-        1) >> 1 : ptr8[i >> 1];
-    /* 12: avgub */
-    var67 = ((orc_uint8) var65 + (orc_uint8) var66 + 1) >> 1;
-    /* 14: subb */
-    var68 = var67 - var49;
-    /* 15: convsbw */
-    var69.i = var68;
-    /* 17: mullw */
-    var70.i = (var59.i * var50.i) & 0xffff;
-    /* 18: shrsw */
-    var71.i = var70.i >> 8;
-    /* 19: addssw */
-    var72.i = ORC_CLAMP_SW (var59.i + var71.i);
-    /* 20: addssw */
-    var73.i = ORC_CLAMP_SW (var72.i + var69.i);
-    /* 22: mullw */
-    var74.i = (var69.i * var51.i) & 0xffff;
-    /* 23: shrsw */
-    var75.i = var74.i >> 8;
-    /* 24: subssw */
-    var76.i = ORC_CLAMP_SW (var73.i - var75.i);
-    /* 25: addssw */
-    var77.i = ORC_CLAMP_SW (var76.i + var69.i);
-    /* 26: addssw */
-    var78.i = ORC_CLAMP_SW (var72.i + var64.i);
-    /* 27: addssw */
-    var79.i = ORC_CLAMP_SW (var78.i + var64.i);
-    /* 29: mullw */
-    var80.i = (var64.i * var52.i) & 0xffff;
-    /* 30: shrsw */
-    var81.i = var80.i >> 8;
-    /* 31: addssw */
-    var82.i = ORC_CLAMP_SW (var79.i + var81.i);
-    /* 33: mullw */
-    var83.i = (var64.i * var53.i) & 0xffff;
-    /* 34: shrsw */
-    var84.i = var83.i >> 8;
-    /* 35: subssw */
-    var85.i = ORC_CLAMP_SW (var72.i - var84.i);
-    /* 37: mullw */
-    var86.i = (var69.i * var54.i) & 0xffff;
-    /* 38: shrsw */
-    var87.i = var86.i >> 8;
-    /* 39: subssw */
-    var88.i = ORC_CLAMP_SW (var85.i - var87.i);
-    /* 40: subssw */
-    var89.i = ORC_CLAMP_SW (var88.i - var87.i);
-    /* 41: convssswb */
-    var90 = ORC_CLAMP_SB (var77.i);
-    /* 42: convssswb */
-    var91 = ORC_CLAMP_SB (var89.i);
-    /* 43: convssswb */
-    var92 = ORC_CLAMP_SB (var82.i);
-    /* 44: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var92;
-      _dest.x2[1] = var91;
-      var93.i = _dest.i;
-    }
-    /* 46: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var90;
-      _dest.x2[1] = var55;
-      var94.i = _dest.i;
-    }
-    /* 47: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var93.i;
-      _dest.x2[1] = var94.i;
-      var95.i = _dest.i;
-    }
-    /* 49: addb */
-    var57.x4[0] = var95.x4[0] + var56.x4[0];
-    var57.x4[1] = var95.x4[1] + var56.x4[1];
-    var57.x4[2] = var95.x4[2] + var56.x4[2];
-    var57.x4[3] = var95.x4[3] + var56.x4[3];
-    /* 50: storel */
-    ptr0[i] = var57;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_convert_I420_BGRA_avg (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  const orc_int8 *ORC_RESTRICT ptr8;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_int8 var48;
-  orc_int8 var49;
-  orc_union16 var50;
-  orc_union16 var51;
-  orc_union16 var52;
-  orc_union16 var53;
-  orc_union16 var54;
-  orc_int8 var55;
-  orc_union32 var56;
-  orc_union32 var57;
-  orc_int8 var58;
-  orc_union16 var59;
-  orc_int8 var60;
-  orc_int8 var61;
-  orc_int8 var62;
-  orc_int8 var63;
-  orc_union16 var64;
-  orc_int8 var65;
-  orc_int8 var66;
-  orc_int8 var67;
-  orc_int8 var68;
-  orc_union16 var69;
-  orc_union16 var70;
-  orc_union16 var71;
-  orc_union16 var72;
-  orc_union16 var73;
-  orc_union16 var74;
-  orc_union16 var75;
-  orc_union16 var76;
-  orc_union16 var77;
-  orc_union16 var78;
-  orc_union16 var79;
-  orc_union16 var80;
-  orc_union16 var81;
-  orc_union16 var82;
-  orc_union16 var83;
-  orc_union16 var84;
-  orc_union16 var85;
-  orc_union16 var86;
-  orc_union16 var87;
-  orc_union16 var88;
-  orc_union16 var89;
-  orc_int8 var90;
-  orc_int8 var91;
-  orc_int8 var92;
-  orc_union16 var93;
-  orc_union16 var94;
-  orc_union32 var95;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-  ptr7 = (orc_int8 *) ex->arrays[7];
-  ptr8 = (orc_int8 *) ex->arrays[8];
-
-  /* 1: loadpb */
-  var47 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 7: loadpb */
-  var48 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 13: loadpb */
-  var49 = (int) 0x00000080;     /* 128 or 6.32404e-322f */
-  /* 16: loadpw */
-  var50.i = (int) 0x0000002a;   /* 42 or 2.07508e-322f */
-  /* 21: loadpw */
-  var51.i = (int) 0x00000067;   /* 103 or 5.08888e-322f */
-  /* 28: loadpw */
-  var52.i = (int) 0x00000004;   /* 4 or 1.97626e-323f */
-  /* 32: loadpw */
-  var53.i = (int) 0x00000064;   /* 100 or 4.94066e-322f */
-  /* 36: loadpw */
-  var54.i = (int) 0x00000068;   /* 104 or 5.13828e-322f */
-  /* 45: loadpb */
-  var55 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-  /* 48: loadpb */
-  var56.x4[0] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var56.x4[1] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var56.x4[2] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-  var56.x4[3] = (int) 0x00000080;       /* 128 or 6.32404e-322f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var46 = ptr4[i];
-    /* 2: subb */
-    var58 = var46 - var47;
-    /* 3: convsbw */
-    var59.i = var58;
-    /* 4: loadupib */
-    var60 =
-        (i & 1) ? ((orc_uint8) ptr5[i >> 1] + (orc_uint8) ptr5[(i >> 1) + 1] +
-        1) >> 1 : ptr5[i >> 1];
-    /* 5: loadupib */
-    var61 =
-        (i & 1) ? ((orc_uint8) ptr6[i >> 1] + (orc_uint8) ptr6[(i >> 1) + 1] +
-        1) >> 1 : ptr6[i >> 1];
-    /* 6: avgub */
-    var62 = ((orc_uint8) var60 + (orc_uint8) var61 + 1) >> 1;
-    /* 8: subb */
-    var63 = var62 - var48;
-    /* 9: convsbw */
-    var64.i = var63;
-    /* 10: loadupib */
-    var65 =
-        (i & 1) ? ((orc_uint8) ptr7[i >> 1] + (orc_uint8) ptr7[(i >> 1) + 1] +
-        1) >> 1 : ptr7[i >> 1];
-    /* 11: loadupib */
-    var66 =
-        (i & 1) ? ((orc_uint8) ptr8[i >> 1] + (orc_uint8) ptr8[(i >> 1) + 1] +
-        1) >> 1 : ptr8[i >> 1];
-    /* 12: avgub */
-    var67 = ((orc_uint8) var65 + (orc_uint8) var66 + 1) >> 1;
-    /* 14: subb */
-    var68 = var67 - var49;
-    /* 15: convsbw */
-    var69.i = var68;
-    /* 17: mullw */
-    var70.i = (var59.i * var50.i) & 0xffff;
-    /* 18: shrsw */
-    var71.i = var70.i >> 8;
-    /* 19: addssw */
-    var72.i = ORC_CLAMP_SW (var59.i + var71.i);
-    /* 20: addssw */
-    var73.i = ORC_CLAMP_SW (var72.i + var69.i);
-    /* 22: mullw */
-    var74.i = (var69.i * var51.i) & 0xffff;
-    /* 23: shrsw */
-    var75.i = var74.i >> 8;
-    /* 24: subssw */
-    var76.i = ORC_CLAMP_SW (var73.i - var75.i);
-    /* 25: addssw */
-    var77.i = ORC_CLAMP_SW (var76.i + var69.i);
-    /* 26: addssw */
-    var78.i = ORC_CLAMP_SW (var72.i + var64.i);
-    /* 27: addssw */
-    var79.i = ORC_CLAMP_SW (var78.i + var64.i);
-    /* 29: mullw */
-    var80.i = (var64.i * var52.i) & 0xffff;
-    /* 30: shrsw */
-    var81.i = var80.i >> 8;
-    /* 31: addssw */
-    var82.i = ORC_CLAMP_SW (var79.i + var81.i);
-    /* 33: mullw */
-    var83.i = (var64.i * var53.i) & 0xffff;
-    /* 34: shrsw */
-    var84.i = var83.i >> 8;
-    /* 35: subssw */
-    var85.i = ORC_CLAMP_SW (var72.i - var84.i);
-    /* 37: mullw */
-    var86.i = (var69.i * var54.i) & 0xffff;
-    /* 38: shrsw */
-    var87.i = var86.i >> 8;
-    /* 39: subssw */
-    var88.i = ORC_CLAMP_SW (var85.i - var87.i);
-    /* 40: subssw */
-    var89.i = ORC_CLAMP_SW (var88.i - var87.i);
-    /* 41: convssswb */
-    var90 = ORC_CLAMP_SB (var77.i);
-    /* 42: convssswb */
-    var91 = ORC_CLAMP_SB (var89.i);
-    /* 43: convssswb */
-    var92 = ORC_CLAMP_SB (var82.i);
-    /* 44: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var92;
-      _dest.x2[1] = var91;
-      var93.i = _dest.i;
-    }
-    /* 46: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var90;
-      _dest.x2[1] = var55;
-      var94.i = _dest.i;
-    }
-    /* 47: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var93.i;
-      _dest.x2[1] = var94.i;
-      var95.i = _dest.i;
-    }
-    /* 49: addb */
-    var57.x4[0] = var95.x4[0] + var56.x4[0];
-    var57.x4[1] = var95.x4[1] + var56.x4[1];
-    var57.x4[2] = var95.x4[2] + var56.x4[2];
-    var57.x4[3] = var95.x4[3] + var56.x4[3];
-    /* 50: storel */
-    ptr0[i] = var57;
-  }
-
-}
-
-void
-cogorc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1,
-    const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2,
-    const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4,
-    const guint8 * ORC_RESTRICT s5, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_convert_I420_BGRA_avg");
-      orc_program_set_backup_function (p, _backup_cogorc_convert_I420_BGRA_avg);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_source (p, 1, "s4");
-      orc_program_add_source (p, 1, "s5");
-      orc_program_add_constant (p, 1, 0x00000008, "c1");
-      orc_program_add_constant (p, 1, 0x00000080, "c2");
-      orc_program_add_constant (p, 4, 0x0000002a, "c3");
-      orc_program_add_constant (p, 4, 0x00000067, "c4");
-      orc_program_add_constant (p, 4, 0x00000004, "c5");
-      orc_program_add_constant (p, 4, 0x00000064, "c6");
-      orc_program_add_constant (p, 4, 0x00000068, "c7");
-      orc_program_add_constant (p, 4, 0x000000ff, "c8");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-      orc_program_add_temporary (p, 2, "t5");
-      orc_program_add_temporary (p, 2, "t6");
-      orc_program_add_temporary (p, 2, "t7");
-      orc_program_add_temporary (p, 2, "t8");
-      orc_program_add_temporary (p, 2, "t9");
-      orc_program_add_temporary (p, 2, "t10");
-      orc_program_add_temporary (p, 1, "t11");
-      orc_program_add_temporary (p, 1, "t12");
-      orc_program_add_temporary (p, 1, "t13");
-      orc_program_add_temporary (p, 4, "t14");
-
-      orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_S1, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S2,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T4, ORC_VAR_S3,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T6, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T3, ORC_VAR_S4,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "loadupib", 0, ORC_VAR_T4, ORC_VAR_S5,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subb", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convsbw", 0, ORC_VAR_T7, ORC_VAR_T3, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T5, ORC_VAR_C3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T8, ORC_VAR_T5, ORC_VAR_T7,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T8, ORC_VAR_T8, ORC_VAR_T7,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T5, ORC_VAR_T6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
-          ORC_VAR_T6, ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "addssw", 0, ORC_VAR_T10, ORC_VAR_T10,
-          ORC_VAR_T1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T6, ORC_VAR_C6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T9, ORC_VAR_T5, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mullw", 0, ORC_VAR_T1, ORC_VAR_T7, ORC_VAR_C7,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "subssw", 0, ORC_VAR_T9, ORC_VAR_T9, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T11, ORC_VAR_T8,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T12, ORC_VAR_T9,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convssswb", 0, ORC_VAR_T13, ORC_VAR_T10,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T13,
-          ORC_VAR_T12, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_T11,
-          ORC_VAR_C8, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T14, ORC_VAR_T1,
-          ORC_VAR_T2, ORC_VAR_D1);
-      orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T14, ORC_VAR_C2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->arrays[ORC_VAR_S4] = (void *) s4;
-  ex->arrays[ORC_VAR_S5] = (void *) s5;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_I420 */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_I420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_int8 var39;
-  orc_int8 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-  /* 3: loadpb */
-  var36 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadupdb */
-    var39 = ptr5[i >> 1];
-    /* 1: loadupdb */
-    var40 = ptr6[i >> 1];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var40;
-      var41.i = _dest.i;
-    }
-    /* 4: loadb */
-    var37 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var42.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.i;
-      _dest.x2[1] = var41.i;
-      var38.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_I420 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_int8 var39;
-  orc_int8 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-  /* 3: loadpb */
-  var36 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadupdb */
-    var39 = ptr5[i >> 1];
-    /* 1: loadupdb */
-    var40 = ptr6[i >> 1];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var40;
-      var41.i = _dest.i;
-    }
-    /* 4: loadb */
-    var37 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var42.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.i;
-      _dest.x2[1] = var41.i;
-      var38.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-cogorc_getline_I420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_I420");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_I420);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 1, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-
-      orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T3, ORC_VAR_S2,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S3,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_YUV9 */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_YUV9 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
-{
-  int i;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_union64 var39;
-  orc_int8 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union32 var43;
-  orc_union32 var44;
-
-  ptr0 = (orc_union64 *) d1;
-  ptr4 = (orc_union16 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-  /* 4: loadpb */
-  var37.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var37.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadupdb */
-    var40 = ptr5[i >> 1];
-    /* 1: loadupdb */
-    var41 = ptr6[i >> 1];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var40;
-      _dest.x2[1] = var41;
-      var42.i = _dest.i;
-    }
-    /* 3: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.i;
-      _dest.x2[1] = var42.i;
-      var43.i = _dest.i;
-    }
-    /* 5: loadw */
-    var38 = ptr4[i];
-    /* 6: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[0];
-      _dest.x2[1] = var38.x2[0];
-      var44.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[1];
-      _dest.x2[1] = var38.x2[1];
-      var44.x2[1] = _dest.i;
-    }
-    /* 7: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var43.x2[0];
-      var39.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var43.x2[1];
-      var39.x2[1] = _dest.i;
-    }
-    /* 8: storeq */
-    ptr0[i] = var39;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_YUV9 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_union64 var39;
-  orc_int8 var40;
-  orc_int8 var41;
-  orc_union16 var42;
-  orc_union32 var43;
-  orc_union32 var44;
-
-  ptr0 = (orc_union64 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-  /* 4: loadpb */
-  var37.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var37.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadupdb */
-    var40 = ptr5[i >> 1];
-    /* 1: loadupdb */
-    var41 = ptr6[i >> 1];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var40;
-      _dest.x2[1] = var41;
-      var42.i = _dest.i;
-    }
-    /* 3: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.i;
-      _dest.x2[1] = var42.i;
-      var43.i = _dest.i;
-    }
-    /* 5: loadw */
-    var38 = ptr4[i];
-    /* 6: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[0];
-      _dest.x2[1] = var38.x2[0];
-      var44.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[1];
-      _dest.x2[1] = var38.x2[1];
-      var44.x2[1] = _dest.i;
-    }
-    /* 7: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var43.x2[0];
-      var39.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var43.x2[1];
-      var39.x2[1] = _dest.i;
-    }
-    /* 8: storeq */
-    ptr0[i] = var39;
-  }
-
-}
-
-void
-cogorc_getline_YUV9 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_YUV9");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_YUV9);
-      orc_program_add_destination (p, 8, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 1, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 4, "t2");
-      orc_program_add_temporary (p, 4, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-      orc_program_add_temporary (p, 1, "t5");
-
-      orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S2,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T5, ORC_VAR_S3,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_YUY2 */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union32 var41;
-  orc_union32 var42;
-
-  ptr0 = (orc_union64 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-  /* 2: loadpb */
-  var37.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var37.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var36 = ptr4[i];
-    /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 3: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[0];
-      _dest.x2[1] = var40.x2[0];
-      var41.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[1];
-      _dest.x2[1] = var40.x2[1];
-      var41.x2[1] = _dest.i;
-    }
-    /* 4: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var39.i;
-      var42.i = _dest.i;
-    }
-    /* 5: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.x2[0];
-      _dest.x2[1] = var42.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.x2[1];
-      _dest.x2[1] = var42.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 6: storeq */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_YUY2 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union32 var41;
-  orc_union32 var42;
-
-  ptr0 = (orc_union64 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-  /* 2: loadpb */
-  var37.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var37.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var36 = ptr4[i];
-    /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 3: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[0];
-      _dest.x2[1] = var40.x2[0];
-      var41.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[1];
-      _dest.x2[1] = var40.x2[1];
-      var41.x2[1] = _dest.i;
-    }
-    /* 4: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var39.i;
-      var42.i = _dest.i;
-    }
-    /* 5: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.x2[0];
-      _dest.x2[1] = var42.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.x2[1];
-      _dest.x2[1] = var42.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 6: storeq */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-cogorc_getline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_YUY2");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_YUY2);
-      orc_program_add_destination (p, 8, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_constant (p, 2, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 4, "t3");
-      orc_program_add_temporary (p, 4, "t4");
-
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_UYVY */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union32 var41;
-  orc_union32 var42;
-
-  ptr0 = (orc_union64 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-  /* 2: loadpb */
-  var37.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var37.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var36 = ptr4[i];
-    /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 3: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var41.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var41.x2[1] = _dest.i;
-    }
-    /* 4: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var40.i;
-      _dest.x2[1] = var40.i;
-      var42.i = _dest.i;
-    }
-    /* 5: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.x2[0];
-      _dest.x2[1] = var42.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.x2[1];
-      _dest.x2[1] = var42.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 6: storeq */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_UYVY (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union32 var41;
-  orc_union32 var42;
-
-  ptr0 = (orc_union64 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-  /* 2: loadpb */
-  var37.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var37.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var36 = ptr4[i];
-    /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 3: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var41.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var41.x2[1] = _dest.i;
-    }
-    /* 4: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var40.i;
-      _dest.x2[1] = var40.i;
-      var42.i = _dest.i;
-    }
-    /* 5: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.x2[0];
-      _dest.x2[1] = var42.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.x2[1];
-      _dest.x2[1] = var42.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 6: storeq */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-cogorc_getline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_UYVY");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_UYVY);
-      orc_program_add_destination (p, 8, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_constant (p, 2, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 4, "t3");
-      orc_program_add_temporary (p, 4, "t4");
-
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_YVYU */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union32 var42;
-  orc_union32 var43;
-
-  ptr0 = (orc_union64 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-  /* 3: loadpb */
-  var37.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var37.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var36 = ptr4[i];
-    /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: swapw */
-    var41.i = ORC_SWAP_W (var39.i);
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[0];
-      _dest.x2[1] = var40.x2[0];
-      var42.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[1];
-      _dest.x2[1] = var40.x2[1];
-      var42.x2[1] = _dest.i;
-    }
-    /* 5: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.i;
-      _dest.x2[1] = var41.i;
-      var43.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.x2[0];
-      _dest.x2[1] = var43.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.x2[1];
-      _dest.x2[1] = var43.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 7: storeq */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_YVYU (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_union16 var41;
-  orc_union32 var42;
-  orc_union32 var43;
-
-  ptr0 = (orc_union64 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-  /* 3: loadpb */
-  var37.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var37.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var36 = ptr4[i];
-    /* 1: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var36.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: swapw */
-    var41.i = ORC_SWAP_W (var39.i);
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[0];
-      _dest.x2[1] = var40.x2[0];
-      var42.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var37.x2[1];
-      _dest.x2[1] = var40.x2[1];
-      var42.x2[1] = _dest.i;
-    }
-    /* 5: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.i;
-      _dest.x2[1] = var41.i;
-      var43.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.x2[0];
-      _dest.x2[1] = var43.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.x2[1];
-      _dest.x2[1] = var43.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 7: storeq */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-cogorc_getline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_YVYU");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_YVYU);
-      orc_program_add_destination (p, 8, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_constant (p, 2, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 4, "t3");
-      orc_program_add_temporary (p, 4, "t4");
-
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "swapw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T3, ORC_VAR_C1, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T4, ORC_VAR_T2, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_Y42B */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_Y42B (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
-{
-  int i;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_union64 var40;
-  orc_union16 var41;
-  orc_union32 var42;
-  orc_union32 var43;
-
-  ptr0 = (orc_union64 *) d1;
-  ptr4 = (orc_union16 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-  /* 3: loadpb */
-  var38.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var38.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr5[i];
-    /* 1: loadb */
-    var37 = ptr6[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var41.i = _dest.i;
-    }
-    /* 4: loadw */
-    var39 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var38.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var42.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var38.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var42.x2[1] = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.i;
-      _dest.x2[1] = var41.i;
-      var43.i = _dest.i;
-    }
-    /* 7: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.x2[0];
-      _dest.x2[1] = var43.x2[0];
-      var40.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.x2[1];
-      _dest.x2[1] = var43.x2[1];
-      var40.x2[1] = _dest.i;
-    }
-    /* 8: storeq */
-    ptr0[i] = var40;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_Y42B (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_union64 var40;
-  orc_union16 var41;
-  orc_union32 var42;
-  orc_union32 var43;
-
-  ptr0 = (orc_union64 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-  /* 3: loadpb */
-  var38.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var38.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var36 = ptr5[i];
-    /* 1: loadb */
-    var37 = ptr6[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var41.i = _dest.i;
-    }
-    /* 4: loadw */
-    var39 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var38.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var42.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var38.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var42.x2[1] = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.i;
-      _dest.x2[1] = var41.i;
-      var43.i = _dest.i;
-    }
-    /* 7: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.x2[0];
-      _dest.x2[1] = var43.x2[0];
-      var40.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.x2[1];
-      _dest.x2[1] = var43.x2[1];
-      var40.x2[1] = _dest.i;
-    }
-    /* 8: storeq */
-    ptr0[i] = var40;
-  }
-
-}
-
-void
-cogorc_getline_Y42B (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_Y42B");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_Y42B);
-      orc_program_add_destination (p, 8, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 1, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 4, "t3");
-      orc_program_add_temporary (p, 4, "t4");
-
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T4, ORC_VAR_C1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T4, ORC_VAR_T3,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_Y444 */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_Y444 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-
-  /* 3: loadpb */
-  var36 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr5[i];
-    /* 1: loadb */
-    var35 = ptr6[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var34;
-      _dest.x2[1] = var35;
-      var39.i = _dest.i;
-    }
-    /* 4: loadb */
-    var37 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var40.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var40.i;
-      _dest.x2[1] = var39.i;
-      var38.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_Y444 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  orc_int8 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-
-  /* 3: loadpb */
-  var36 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadb */
-    var34 = ptr5[i];
-    /* 1: loadb */
-    var35 = ptr6[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var34;
-      _dest.x2[1] = var35;
-      var39.i = _dest.i;
-    }
-    /* 4: loadb */
-    var37 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var40.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var40.i;
-      _dest.x2[1] = var39.i;
-      var38.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-cogorc_getline_Y444 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_Y444");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_Y444);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_constant (p, 1, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_S3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_Y800 */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_union32 var36;
-  orc_union16 var37;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_int8 *) s1;
-
-  /* 0: loadpb */
-  var33 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-  /* 3: loadpw */
-  var35.i = (int) 0x00008080;   /* 32896 or 1.62528e-319f */
-
-  for (i = 0; i < n; i++) {
-    /* 1: loadb */
-    var34 = ptr4[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var33;
-      _dest.x2[1] = var34;
-      var37.i = _dest.i;
-    }
-    /* 4: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var37.i;
-      _dest.x2[1] = var35.i;
-      var36.i = _dest.i;
-    }
-    /* 5: storel */
-    ptr0[i] = var36;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_Y800 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  orc_int8 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-  orc_union32 var36;
-  orc_union16 var37;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-
-  /* 0: loadpb */
-  var33 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-  /* 3: loadpw */
-  var35.i = (int) 0x00008080;   /* 32896 or 1.62528e-319f */
-
-  for (i = 0; i < n; i++) {
-    /* 1: loadb */
-    var34 = ptr4[i];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var33;
-      _dest.x2[1] = var34;
-      var37.i = _dest.i;
-    }
-    /* 4: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var37.i;
-      _dest.x2[1] = var35.i;
-      var36.i = _dest.i;
-    }
-    /* 5: storel */
-    ptr0[i] = var36;
-  }
-
-}
-
-void
-cogorc_getline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_Y800");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_Y800);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_constant (p, 1, 0x000000ff, "c1");
-      orc_program_add_constant (p, 2, 0x00008080, "c2");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_Y16 */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var34;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_union32 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union16 *) s1;
-
-  /* 2: loadpb */
-  var35 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-  /* 4: loadpw */
-  var36.i = (int) 0x00008080;   /* 32896 or 1.62528e-319f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var34 = ptr4[i];
-    /* 1: convhwb */
-    var38 = ((orc_uint16) var34.i) >> 8;
-    /* 3: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35;
-      _dest.x2[1] = var38;
-      var39.i = _dest.i;
-    }
-    /* 5: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var36.i;
-      var37.i = _dest.i;
-    }
-    /* 6: storel */
-    ptr0[i] = var37;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_Y16 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  orc_union16 var34;
-  orc_int8 var35;
-  orc_union16 var36;
-  orc_union32 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-
-  /* 2: loadpb */
-  var35 = (int) 0x000000ff;     /* 255 or 1.25987e-321f */
-  /* 4: loadpw */
-  var36.i = (int) 0x00008080;   /* 32896 or 1.62528e-319f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var34 = ptr4[i];
-    /* 1: convhwb */
-    var38 = ((orc_uint16) var34.i) >> 8;
-    /* 3: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var35;
-      _dest.x2[1] = var38;
-      var39.i = _dest.i;
-    }
-    /* 5: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var36.i;
-      var37.i = _dest.i;
-    }
-    /* 6: storel */
-    ptr0[i] = var37;
-  }
-
-}
-
-void
-cogorc_getline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_Y16");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_Y16);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_constant (p, 1, 0x000000ff, "c1");
-      orc_program_add_constant (p, 2, 0x00008080, "c2");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-
-      orc_program_append_2 (p, "convhwb", 0, ORC_VAR_T2, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_BGRA */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var32;
-  orc_union32 var33;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var32 = ptr4[i];
-    /* 1: swapl */
-    var33.i = ORC_SWAP_L (var32.i);
-    /* 2: storel */
-    ptr0[i] = var33;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_BGRA (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var32;
-  orc_union32 var33;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var32 = ptr4[i];
-    /* 1: swapl */
-    var33.i = ORC_SWAP_L (var32.i);
-    /* 2: storel */
-    ptr0[i] = var33;
-  }
-
-}
-
-void
-cogorc_getline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_BGRA");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_BGRA);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 4, "s1");
-
-      orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_ABGR */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var40 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var40.i;
-      var42.i = _src.x2[1];
-      var43.i = _src.x2[0];
-    }
-    /* 2: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var42.i;
-      var44 = _src.x2[1];
-      var45 = _src.x2[0];
-    }
-    /* 3: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var46 = _src.x2[1];
-      var47 = _src.x2[0];
-    }
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var47;
-      _dest.x2[1] = var44;
-      var48.i = _dest.i;
-    }
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var45;
-      _dest.x2[1] = var46;
-      var49.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var48.i;
-      _dest.x2[1] = var49.i;
-      var41.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var41;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_ABGR (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var40 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var40.i;
-      var42.i = _src.x2[1];
-      var43.i = _src.x2[0];
-    }
-    /* 2: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var42.i;
-      var44 = _src.x2[1];
-      var45 = _src.x2[0];
-    }
-    /* 3: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var46 = _src.x2[1];
-      var47 = _src.x2[0];
-    }
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var47;
-      _dest.x2[1] = var44;
-      var48.i = _dest.i;
-    }
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var45;
-      _dest.x2[1] = var46;
-      var49.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var48.i;
-      _dest.x2[1] = var49.i;
-      var41.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var41;
-  }
-
-}
-
-void
-cogorc_getline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_ABGR");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_ABGR);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 1, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-      orc_program_add_temporary (p, 2, "t5");
-      orc_program_add_temporary (p, 2, "t6");
-      orc_program_add_temporary (p, 2, "t7");
-      orc_program_add_temporary (p, 2, "t8");
-
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T1, ORC_VAR_T6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T7, ORC_VAR_T8,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_RGBA */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var40 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var40.i;
-      var42.i = _src.x2[1];
-      var43.i = _src.x2[0];
-    }
-    /* 2: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var44 = _src.x2[1];
-      var45 = _src.x2[0];
-    }
-    /* 3: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var42.i;
-      var46 = _src.x2[1];
-      var47 = _src.x2[0];
-    }
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var46;
-      _dest.x2[1] = var45;
-      var48.i = _dest.i;
-    }
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44;
-      _dest.x2[1] = var47;
-      var49.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var48.i;
-      _dest.x2[1] = var49.i;
-      var41.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var41;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_RGBA (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var40 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var40.i;
-      var42.i = _src.x2[1];
-      var43.i = _src.x2[0];
-    }
-    /* 2: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var44 = _src.x2[1];
-      var45 = _src.x2[0];
-    }
-    /* 3: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var42.i;
-      var46 = _src.x2[1];
-      var47 = _src.x2[0];
-    }
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var46;
-      _dest.x2[1] = var45;
-      var48.i = _dest.i;
-    }
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44;
-      _dest.x2[1] = var47;
-      var49.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var48.i;
-      _dest.x2[1] = var49.i;
-      var41.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var41;
-  }
-
-}
-
-void
-cogorc_getline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_RGBA");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_RGBA);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 1, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-      orc_program_add_temporary (p, 2, "t5");
-      orc_program_add_temporary (p, 2, "t6");
-      orc_program_add_temporary (p, 2, "t7");
-      orc_program_add_temporary (p, 2, "t8");
-
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T6, ORC_VAR_T5, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T3, ORC_VAR_T2, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T1, ORC_VAR_T4, ORC_VAR_T6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T8, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T7, ORC_VAR_T8,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_NV12 */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_NV12 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int n)
-{
-  int i;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var34;
-  orc_union16 var35;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-
-  ptr0 = (orc_union64 *) d1;
-  ptr4 = (orc_union16 *) s1;
-  ptr5 = (orc_union16 *) s2;
-
-  /* 3: loadpb */
-  var36.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var36.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var34 = ptr5[i];
-    /* 1: loadw */
-    var35 = ptr5[i];
-    /* 2: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var34.i;
-      _dest.x2[1] = var35.i;
-      var39.i = _dest.i;
-    }
-    /* 4: loadw */
-    var37 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36.x2[0];
-      _dest.x2[1] = var37.x2[0];
-      var40.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36.x2[1];
-      _dest.x2[1] = var37.x2[1];
-      var40.x2[1] = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var40.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var40.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 7: storeq */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_NV12 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var34;
-  orc_union16 var35;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-
-  ptr0 = (orc_union64 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-  ptr5 = (orc_union16 *) ex->arrays[5];
-
-  /* 3: loadpb */
-  var36.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var36.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var34 = ptr5[i];
-    /* 1: loadw */
-    var35 = ptr5[i];
-    /* 2: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var34.i;
-      _dest.x2[1] = var35.i;
-      var39.i = _dest.i;
-    }
-    /* 4: loadw */
-    var37 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36.x2[0];
-      _dest.x2[1] = var37.x2[0];
-      var40.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36.x2[1];
-      _dest.x2[1] = var37.x2[1];
-      var40.x2[1] = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var40.x2[0];
-      _dest.x2[1] = var39.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var40.x2[1];
-      _dest.x2[1] = var39.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 7: storeq */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-cogorc_getline_NV12 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_NV12");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_NV12);
-      orc_program_add_destination (p, 8, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 2, "s2");
-      orc_program_add_constant (p, 1, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 4, "t1");
-      orc_program_add_temporary (p, 4, "t2");
-
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_S2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_NV21 */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_NV21 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int n)
-{
-  int i;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var35;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union32 var40;
-  orc_union32 var41;
-
-  ptr0 = (orc_union64 *) d1;
-  ptr4 = (orc_union16 *) s1;
-  ptr5 = (orc_union16 *) s2;
-
-  /* 3: loadpb */
-  var36.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var36.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var35 = ptr5[i];
-    /* 1: swapw */
-    var39.i = ORC_SWAP_W (var35.i);
-    /* 2: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var39.i;
-      var40.i = _dest.i;
-    }
-    /* 4: loadw */
-    var37 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36.x2[0];
-      _dest.x2[1] = var37.x2[0];
-      var41.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36.x2[1];
-      _dest.x2[1] = var37.x2[1];
-      var41.x2[1] = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.x2[0];
-      _dest.x2[1] = var40.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.x2[1];
-      _dest.x2[1] = var40.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 7: storeq */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_NV21 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union64 *ORC_RESTRICT ptr0;
-  const orc_union16 *ORC_RESTRICT ptr4;
-  const orc_union16 *ORC_RESTRICT ptr5;
-  orc_union16 var35;
-  orc_union16 var36;
-  orc_union16 var37;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union32 var40;
-  orc_union32 var41;
-
-  ptr0 = (orc_union64 *) ex->arrays[0];
-  ptr4 = (orc_union16 *) ex->arrays[4];
-  ptr5 = (orc_union16 *) ex->arrays[5];
-
-  /* 3: loadpb */
-  var36.x2[0] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-  var36.x2[1] = (int) 0x000000ff;       /* 255 or 1.25987e-321f */
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadw */
-    var35 = ptr5[i];
-    /* 1: swapw */
-    var39.i = ORC_SWAP_W (var35.i);
-    /* 2: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var39.i;
-      _dest.x2[1] = var39.i;
-      var40.i = _dest.i;
-    }
-    /* 4: loadw */
-    var37 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36.x2[0];
-      _dest.x2[1] = var37.x2[0];
-      var41.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36.x2[1];
-      _dest.x2[1] = var37.x2[1];
-      var41.x2[1] = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.x2[0];
-      _dest.x2[1] = var40.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var41.x2[1];
-      _dest.x2[1] = var40.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 7: storeq */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-cogorc_getline_NV21 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_NV21");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_NV21);
-      orc_program_add_destination (p, 8, "d1");
-      orc_program_add_source (p, 2, "s1");
-      orc_program_add_source (p, 2, "s2");
-      orc_program_add_constant (p, 1, 0x000000ff, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 4, "t2");
-      orc_program_add_temporary (p, 4, "t3");
-
-      orc_program_append_2 (p, "swapw", 0, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_T2, ORC_VAR_C1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_getline_A420 */
-#ifdef DISABLE_ORC
-void
-cogorc_getline_A420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
-    const guint8 * ORC_RESTRICT s4, int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_int8 var39;
-  orc_int8 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_int8 *) s1;
-  ptr5 = (orc_int8 *) s2;
-  ptr6 = (orc_int8 *) s3;
-  ptr7 = (orc_int8 *) s4;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadupdb */
-    var39 = ptr5[i >> 1];
-    /* 1: loadupdb */
-    var40 = ptr6[i >> 1];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var40;
-      var41.i = _dest.i;
-    }
-    /* 3: loadb */
-    var36 = ptr7[i];
-    /* 4: loadb */
-    var37 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var42.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.i;
-      _dest.x2[1] = var41.i;
-      var38.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_getline_A420 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_int8 *ORC_RESTRICT ptr4;
-  const orc_int8 *ORC_RESTRICT ptr5;
-  const orc_int8 *ORC_RESTRICT ptr6;
-  const orc_int8 *ORC_RESTRICT ptr7;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union32 var38;
-  orc_int8 var39;
-  orc_int8 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_int8 *) ex->arrays[4];
-  ptr5 = (orc_int8 *) ex->arrays[5];
-  ptr6 = (orc_int8 *) ex->arrays[6];
-  ptr7 = (orc_int8 *) ex->arrays[7];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadupdb */
-    var39 = ptr5[i >> 1];
-    /* 1: loadupdb */
-    var40 = ptr6[i >> 1];
-    /* 2: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var39;
-      _dest.x2[1] = var40;
-      var41.i = _dest.i;
-    }
-    /* 3: loadb */
-    var36 = ptr7[i];
-    /* 4: loadb */
-    var37 = ptr4[i];
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var36;
-      _dest.x2[1] = var37;
-      var42.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var42.i;
-      _dest.x2[1] = var41.i;
-      var38.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-cogorc_getline_A420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3,
-    const guint8 * ORC_RESTRICT s4, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_getline_A420");
-      orc_program_set_backup_function (p, _backup_cogorc_getline_A420);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 1, "s1");
-      orc_program_add_source (p, 1, "s2");
-      orc_program_add_source (p, 1, "s3");
-      orc_program_add_source (p, 1, "s4");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-
-      orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T3, ORC_VAR_S2,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "loadupdb", 0, ORC_VAR_T4, ORC_VAR_S3,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T1, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T2, ORC_VAR_S4, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-  ex->arrays[ORC_VAR_S2] = (void *) s2;
-  ex->arrays[ORC_VAR_S3] = (void *) s3;
-  ex->arrays[ORC_VAR_S4] = (void *) s4;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_I420 */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
-{
-  int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_int8 var40;
-  orc_int8 var41;
-  orc_union32 var42;
-  orc_union32 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_int8 var48;
-  orc_int8 var49;
-
-  ptr0 = (orc_union16 *) d1;
-  ptr1 = (orc_int8 *) d2;
-  ptr2 = (orc_int8 *) d3;
-  ptr4 = (orc_union64 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var38 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var38.x2[0];
-      var42.x2[0] = _src.x2[1];
-      var43.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var38.x2[1];
-      var42.x2[1] = _src.x2[1];
-      var43.x2[1] = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var43.x2[0];
-      var39.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var43.x2[1];
-      var39.x2[1] = _src.x2[1];
-    }
-    /* 3: storew */
-    ptr0[i] = var39;
-    /* 4: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var42.x2[0];
-      var44.x2[0] = _src.x2[1];
-      var45.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var42.x2[1];
-      var44.x2[1] = _src.x2[1];
-      var45.x2[1] = _src.x2[0];
-    }
-    /* 5: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var45.i;
-      var46 = _src.x2[1];
-      var47 = _src.x2[0];
-    }
-    /* 6: avgub */
-    var40 = ((orc_uint8) var46 + (orc_uint8) var47 + 1) >> 1;
-    /* 7: storeb */
-    ptr1[i] = var40;
-    /* 8: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var44.i;
-      var48 = _src.x2[1];
-      var49 = _src.x2[0];
-    }
-    /* 9: avgub */
-    var41 = ((orc_uint8) var48 + (orc_uint8) var49 + 1) >> 1;
-    /* 10: storeb */
-    ptr2[i] = var41;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_I420 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_int8 var40;
-  orc_int8 var41;
-  orc_union32 var42;
-  orc_union32 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_int8 var48;
-  orc_int8 var49;
-
-  ptr0 = (orc_union16 *) ex->arrays[0];
-  ptr1 = (orc_int8 *) ex->arrays[1];
-  ptr2 = (orc_int8 *) ex->arrays[2];
-  ptr4 = (orc_union64 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var38 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var38.x2[0];
-      var42.x2[0] = _src.x2[1];
-      var43.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var38.x2[1];
-      var42.x2[1] = _src.x2[1];
-      var43.x2[1] = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var43.x2[0];
-      var39.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var43.x2[1];
-      var39.x2[1] = _src.x2[1];
-    }
-    /* 3: storew */
-    ptr0[i] = var39;
-    /* 4: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var42.x2[0];
-      var44.x2[0] = _src.x2[1];
-      var45.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var42.x2[1];
-      var44.x2[1] = _src.x2[1];
-      var45.x2[1] = _src.x2[0];
-    }
-    /* 5: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var45.i;
-      var46 = _src.x2[1];
-      var47 = _src.x2[0];
-    }
-    /* 6: avgub */
-    var40 = ((orc_uint8) var46 + (orc_uint8) var47 + 1) >> 1;
-    /* 7: storeb */
-    ptr1[i] = var40;
-    /* 8: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var44.i;
-      var48 = _src.x2[1];
-      var49 = _src.x2[0];
-    }
-    /* 9: avgub */
-    var41 = ((orc_uint8) var48 + (orc_uint8) var49 + 1) >> 1;
-    /* 10: storeb */
-    ptr2[i] = var41;
-  }
-
-}
-
-void
-cogorc_putline_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_I420");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_I420);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 1, "d2");
-      orc_program_add_destination (p, 1, "d3");
-      orc_program_add_source (p, 8, "s1");
-      orc_program_add_temporary (p, 4, "t1");
-      orc_program_add_temporary (p, 4, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-      orc_program_add_temporary (p, 1, "t5");
-      orc_program_add_temporary (p, 1, "t6");
-
-      orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_T6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D3, ORC_VAR_T5, ORC_VAR_T6,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->arrays[ORC_VAR_D3] = d3;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_YUY2 */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var37;
-  orc_union32 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union64 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var37 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var39.i;
-      var41.i = _src.x2[1];
-      var42.i = _src.x2[0];
-    }
-    /* 3: avgub */
-    var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-    var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-    /* 4: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[0];
-      var44.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[1];
-      var44.x2[1] = _src.x2[1];
-    }
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var43.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var43.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 6: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_YUY2 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var37;
-  orc_union32 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union64 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var37 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var39.i;
-      var41.i = _src.x2[1];
-      var42.i = _src.x2[0];
-    }
-    /* 3: avgub */
-    var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-    var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-    /* 4: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[0];
-      var44.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[1];
-      var44.x2[1] = _src.x2[1];
-    }
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var43.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var43.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 6: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-cogorc_putline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_YUY2");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_YUY2);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 8, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 4, "t4");
-      orc_program_add_temporary (p, 4, "t5");
-
-      orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_YVYU */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var37;
-  orc_union32 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union64 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var37 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var39.i;
-      var41.i = _src.x2[1];
-      var42.i = _src.x2[0];
-    }
-    /* 3: avgub */
-    var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-    var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-    /* 4: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[0];
-      var44.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[1];
-      var44.x2[1] = _src.x2[1];
-    }
-    /* 5: swapw */
-    var45.i = ORC_SWAP_W (var43.i);
-    /* 6: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_YVYU (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var37;
-  orc_union32 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-  orc_union16 var45;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union64 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var37 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var39.i;
-      var41.i = _src.x2[1];
-      var42.i = _src.x2[0];
-    }
-    /* 3: avgub */
-    var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-    var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-    /* 4: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[0];
-      var44.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[1];
-      var44.x2[1] = _src.x2[1];
-    }
-    /* 5: swapw */
-    var45.i = ORC_SWAP_W (var43.i);
-    /* 6: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[0];
-      _dest.x2[1] = var45.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44.x2[1];
-      _dest.x2[1] = var45.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-cogorc_putline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_YVYU");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_YVYU);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 8, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 4, "t4");
-      orc_program_add_temporary (p, 4, "t5");
-
-      orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "swapw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_UYVY */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var37;
-  orc_union32 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union64 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var37 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var39.i;
-      var41.i = _src.x2[1];
-      var42.i = _src.x2[0];
-    }
-    /* 3: avgub */
-    var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-    var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-    /* 4: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[0];
-      var44.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[1];
-      var44.x2[1] = _src.x2[1];
-    }
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var43.x2[0];
-      _dest.x2[1] = var44.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var43.x2[1];
-      _dest.x2[1] = var44.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 6: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_UYVY (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var37;
-  orc_union32 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union64 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var37 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var39.i;
-      var41.i = _src.x2[1];
-      var42.i = _src.x2[0];
-    }
-    /* 3: avgub */
-    var43.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-    var43.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-    /* 4: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[0];
-      var44.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[1];
-      var44.x2[1] = _src.x2[1];
-    }
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var43.x2[0];
-      _dest.x2[1] = var44.x2[0];
-      var38.x2[0] = _dest.i;
-    }
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var43.x2[1];
-      _dest.x2[1] = var44.x2[1];
-      var38.x2[1] = _dest.i;
-    }
-    /* 6: storel */
-    ptr0[i] = var38;
-  }
-
-}
-
-void
-cogorc_putline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_UYVY");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_UYVY);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 8, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 4, "t4");
-      orc_program_add_temporary (p, 4, "t5");
-
-      orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T5, ORC_VAR_T4, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_T5,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 1, ORC_VAR_T1, ORC_VAR_T4,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_Y42B */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_Y42B (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
-{
-  int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  ptr0 = (orc_union16 *) d1;
-  ptr1 = (orc_int8 *) d2;
-  ptr2 = (orc_int8 *) d3;
-  ptr4 = (orc_union64 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var36 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var36.x2[0];
-      var40.x2[0] = _src.x2[1];
-      var41.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var36.x2[1];
-      var40.x2[1] = _src.x2[1];
-      var41.x2[1] = _src.x2[0];
-    }
-    /* 2: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var40.i;
-      var42.i = _src.x2[1];
-      var43.i = _src.x2[0];
-    }
-    /* 3: avgub */
-    var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
-    var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
-    /* 4: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var44.i;
-      var37 = _src.x2[1];
-      var38 = _src.x2[0];
-    }
-    /* 5: storeb */
-    ptr2[i] = var37;
-    /* 6: storeb */
-    ptr1[i] = var38;
-    /* 7: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.x2[0];
-      var39.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var41.x2[1];
-      var39.x2[1] = _src.x2[1];
-    }
-    /* 8: storew */
-    ptr0[i] = var39;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_Y42B (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var36;
-  orc_int8 var37;
-  orc_int8 var38;
-  orc_union16 var39;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  ptr0 = (orc_union16 *) ex->arrays[0];
-  ptr1 = (orc_int8 *) ex->arrays[1];
-  ptr2 = (orc_int8 *) ex->arrays[2];
-  ptr4 = (orc_union64 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var36 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var36.x2[0];
-      var40.x2[0] = _src.x2[1];
-      var41.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var36.x2[1];
-      var40.x2[1] = _src.x2[1];
-      var41.x2[1] = _src.x2[0];
-    }
-    /* 2: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var40.i;
-      var42.i = _src.x2[1];
-      var43.i = _src.x2[0];
-    }
-    /* 3: avgub */
-    var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
-    var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
-    /* 4: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var44.i;
-      var37 = _src.x2[1];
-      var38 = _src.x2[0];
-    }
-    /* 5: storeb */
-    ptr2[i] = var37;
-    /* 6: storeb */
-    ptr1[i] = var38;
-    /* 7: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.x2[0];
-      var39.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var41.x2[1];
-      var39.x2[1] = _src.x2[1];
-    }
-    /* 8: storew */
-    ptr0[i] = var39;
-  }
-
-}
-
-void
-cogorc_putline_Y42B (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_Y42B");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_Y42B);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 1, "d2");
-      orc_program_add_destination (p, 1, "d3");
-      orc_program_add_source (p, 8, "s1");
-      orc_program_add_temporary (p, 4, "t1");
-      orc_program_add_temporary (p, 4, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-
-      orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->arrays[ORC_VAR_D3] = d3;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_Y444 */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_Y444 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr1 = (orc_int8 *) d2;
-  ptr2 = (orc_int8 *) d3;
-  ptr4 = (orc_union32 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var34 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var34.i;
-      var38.i = _src.x2[1];
-      var39.i = _src.x2[0];
-    }
-    /* 2: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var38.i;
-      var35 = _src.x2[1];
-      var36 = _src.x2[0];
-    }
-    /* 3: storeb */
-    ptr2[i] = var35;
-    /* 4: storeb */
-    ptr1[i] = var36;
-    /* 5: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var39.i;
-      var37 = _src.x2[1];
-    }
-    /* 6: storeb */
-    ptr0[i] = var37;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_Y444 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var34;
-  orc_int8 var35;
-  orc_int8 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr1 = (orc_int8 *) ex->arrays[1];
-  ptr2 = (orc_int8 *) ex->arrays[2];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var34 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var34.i;
-      var38.i = _src.x2[1];
-      var39.i = _src.x2[0];
-    }
-    /* 2: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var38.i;
-      var35 = _src.x2[1];
-      var36 = _src.x2[0];
-    }
-    /* 3: storeb */
-    ptr2[i] = var35;
-    /* 4: storeb */
-    ptr1[i] = var36;
-    /* 5: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var39.i;
-      var37 = _src.x2[1];
-    }
-    /* 6: storeb */
-    ptr0[i] = var37;
-  }
-
-}
-
-void
-cogorc_putline_Y444 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_Y444");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_Y444);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_destination (p, 1, "d2");
-      orc_program_add_destination (p, 1, "d3");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 2, "t2");
-
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->arrays[ORC_VAR_D3] = d3;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_Y800 */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-
-  ptr0 = (orc_int8 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_Y800 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_int8 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var33;
-  orc_int8 var34;
-  orc_union16 var35;
-
-  ptr0 = (orc_int8 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var33 = ptr4[i];
-    /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var33.i;
-      var35.i = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var35.i;
-      var34 = _src.x2[1];
-    }
-    /* 3: storeb */
-    ptr0[i] = var34;
-  }
-
-}
-
-void
-cogorc_putline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_Y800");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_Y800);
-      orc_program_add_destination (p, 1, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 2, "t1");
-
-      orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_Y16 */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var34;
-  orc_union16 var35;
-  orc_union16 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-
-  ptr0 = (orc_union16 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var34 = ptr4[i];
-    /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var34.i;
-      var36.i = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var36.i;
-      var37 = _src.x2[1];
-    }
-    /* 3: convubw */
-    var38.i = (orc_uint8) var37;
-    /* 4: shlw */
-    var35.i = var38.i << 8;
-    /* 5: storew */
-    ptr0[i] = var35;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_Y16 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union16 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var34;
-  orc_union16 var35;
-  orc_union16 var36;
-  orc_int8 var37;
-  orc_union16 var38;
-
-  ptr0 = (orc_union16 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var34 = ptr4[i];
-    /* 1: select0lw */
-    {
-      orc_union32 _src;
-      _src.i = var34.i;
-      var36.i = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var36.i;
-      var37 = _src.x2[1];
-    }
-    /* 3: convubw */
-    var38.i = (orc_uint8) var37;
-    /* 4: shlw */
-    var35.i = var38.i << 8;
-    /* 5: storew */
-    ptr0[i] = var35;
-  }
-
-}
-
-void
-cogorc_putline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_Y16");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_Y16);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_constant (p, 4, 0x00000008, "c1");
-      orc_program_add_temporary (p, 2, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-
-      orc_program_append_2 (p, "select0lw", 0, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 0, ORC_VAR_T2, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_D1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "shlw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_BGRA */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var32;
-  orc_union32 var33;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var32 = ptr4[i];
-    /* 1: swapl */
-    var33.i = ORC_SWAP_L (var32.i);
-    /* 2: storel */
-    ptr0[i] = var33;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_BGRA (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var32;
-  orc_union32 var33;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var32 = ptr4[i];
-    /* 1: swapl */
-    var33.i = ORC_SWAP_L (var32.i);
-    /* 2: storel */
-    ptr0[i] = var33;
-  }
-
-}
-
-void
-cogorc_putline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_BGRA");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_BGRA);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 4, "s1");
-
-      orc_program_append_2 (p, "swapl", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_ABGR */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var40 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var40.i;
-      var42.i = _src.x2[1];
-      var43.i = _src.x2[0];
-    }
-    /* 2: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var42.i;
-      var44 = _src.x2[1];
-      var45 = _src.x2[0];
-    }
-    /* 3: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var46 = _src.x2[1];
-      var47 = _src.x2[0];
-    }
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var47;
-      _dest.x2[1] = var44;
-      var48.i = _dest.i;
-    }
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var45;
-      _dest.x2[1] = var46;
-      var49.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var48.i;
-      _dest.x2[1] = var49.i;
-      var41.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var41;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_ABGR (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var40 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var40.i;
-      var42.i = _src.x2[1];
-      var43.i = _src.x2[0];
-    }
-    /* 2: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var42.i;
-      var44 = _src.x2[1];
-      var45 = _src.x2[0];
-    }
-    /* 3: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var46 = _src.x2[1];
-      var47 = _src.x2[0];
-    }
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var47;
-      _dest.x2[1] = var44;
-      var48.i = _dest.i;
-    }
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var45;
-      _dest.x2[1] = var46;
-      var49.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var48.i;
-      _dest.x2[1] = var49.i;
-      var41.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var41;
-  }
-
-}
-
-void
-cogorc_putline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_ABGR");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_ABGR);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 1, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-      orc_program_add_temporary (p, 2, "t5");
-      orc_program_add_temporary (p, 2, "t6");
-      orc_program_add_temporary (p, 2, "t7");
-      orc_program_add_temporary (p, 2, "t8");
-
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T8,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T7,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T6, ORC_VAR_T1, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T6, ORC_VAR_T5,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_RGBA */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  int i;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-
-  ptr0 = (orc_union32 *) d1;
-  ptr4 = (orc_union32 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var40 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var40.i;
-      var42.i = _src.x2[1];
-      var43.i = _src.x2[0];
-    }
-    /* 2: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var42.i;
-      var44 = _src.x2[1];
-      var45 = _src.x2[0];
-    }
-    /* 3: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var46 = _src.x2[1];
-      var47 = _src.x2[0];
-    }
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44;
-      _dest.x2[1] = var47;
-      var48.i = _dest.i;
-    }
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var46;
-      _dest.x2[1] = var45;
-      var49.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var49.i;
-      _dest.x2[1] = var48.i;
-      var41.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var41;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_RGBA (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union32 *ORC_RESTRICT ptr0;
-  const orc_union32 *ORC_RESTRICT ptr4;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_int8 var44;
-  orc_int8 var45;
-  orc_int8 var46;
-  orc_int8 var47;
-  orc_union16 var48;
-  orc_union16 var49;
-
-  ptr0 = (orc_union32 *) ex->arrays[0];
-  ptr4 = (orc_union32 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadl */
-    var40 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var40.i;
-      var42.i = _src.x2[1];
-      var43.i = _src.x2[0];
-    }
-    /* 2: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var42.i;
-      var44 = _src.x2[1];
-      var45 = _src.x2[0];
-    }
-    /* 3: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.i;
-      var46 = _src.x2[1];
-      var47 = _src.x2[0];
-    }
-    /* 4: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var44;
-      _dest.x2[1] = var47;
-      var48.i = _dest.i;
-    }
-    /* 5: mergebw */
-    {
-      orc_union16 _dest;
-      _dest.x2[0] = var46;
-      _dest.x2[1] = var45;
-      var49.i = _dest.i;
-    }
-    /* 6: mergewl */
-    {
-      orc_union32 _dest;
-      _dest.x2[0] = var49.i;
-      _dest.x2[1] = var48.i;
-      var41.i = _dest.i;
-    }
-    /* 7: storel */
-    ptr0[i] = var41;
-  }
-
-}
-
-void
-cogorc_putline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1,
-    int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_RGBA");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_RGBA);
-      orc_program_add_destination (p, 4, "d1");
-      orc_program_add_source (p, 4, "s1");
-      orc_program_add_temporary (p, 1, "t1");
-      orc_program_add_temporary (p, 1, "t2");
-      orc_program_add_temporary (p, 1, "t3");
-      orc_program_add_temporary (p, 1, "t4");
-      orc_program_add_temporary (p, 2, "t5");
-      orc_program_add_temporary (p, 2, "t6");
-      orc_program_add_temporary (p, 2, "t7");
-      orc_program_add_temporary (p, 2, "t8");
-
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T8,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_T7,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T6, ORC_VAR_T4, ORC_VAR_T1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergebw", 0, ORC_VAR_T5, ORC_VAR_T2, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T5, ORC_VAR_T6,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_NV12 */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_NV12 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    const guint8 * ORC_RESTRICT s1, int n)
-{
-  int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-
-  ptr0 = (orc_union16 *) d1;
-  ptr1 = (orc_union16 *) d2;
-  ptr4 = (orc_union64 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var36 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var36.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var36.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[0];
-      var37.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[1];
-      var37.x2[1] = _src.x2[1];
-    }
-    /* 3: storew */
-    ptr0[i] = var37;
-    /* 4: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var39.i;
-      var41.i = _src.x2[1];
-      var42.i = _src.x2[0];
-    }
-    /* 5: avgub */
-    var38.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-    var38.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-    /* 6: storew */
-    ptr1[i] = var38;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_NV12 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var36;
-  orc_union16 var37;
-  orc_union16 var38;
-  orc_union32 var39;
-  orc_union32 var40;
-  orc_union16 var41;
-  orc_union16 var42;
-
-  ptr0 = (orc_union16 *) ex->arrays[0];
-  ptr1 = (orc_union16 *) ex->arrays[1];
-  ptr4 = (orc_union64 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var36 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var36.x2[0];
-      var39.x2[0] = _src.x2[1];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var36.x2[1];
-      var39.x2[1] = _src.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[0];
-      var37.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var40.x2[1];
-      var37.x2[1] = _src.x2[1];
-    }
-    /* 3: storew */
-    ptr0[i] = var37;
-    /* 4: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var39.i;
-      var41.i = _src.x2[1];
-      var42.i = _src.x2[0];
-    }
-    /* 5: avgub */
-    var38.x2[0] = ((orc_uint8) var41.x2[0] + (orc_uint8) var42.x2[0] + 1) >> 1;
-    var38.x2[1] = ((orc_uint8) var41.x2[1] + (orc_uint8) var42.x2[1] + 1) >> 1;
-    /* 6: storew */
-    ptr1[i] = var38;
-  }
-
-}
-
-void
-cogorc_putline_NV12 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    const guint8 * ORC_RESTRICT s1, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_NV12");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_NV12);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 2, "d2");
-      orc_program_add_source (p, 8, "s1");
-      orc_program_add_temporary (p, 4, "t1");
-      orc_program_add_temporary (p, 4, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-
-      orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_D2, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_NV21 */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_NV21 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    const guint8 * ORC_RESTRICT s1, int n)
-{
-  int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  ptr0 = (orc_union16 *) d1;
-  ptr1 = (orc_union16 *) d2;
-  ptr4 = (orc_union64 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var37 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[0];
-      var40.x2[0] = _src.x2[1];
-      var41.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[1];
-      var40.x2[1] = _src.x2[1];
-      var41.x2[1] = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.x2[0];
-      var38.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var41.x2[1];
-      var38.x2[1] = _src.x2[1];
-    }
-    /* 3: storew */
-    ptr0[i] = var38;
-    /* 4: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var40.i;
-      var42.i = _src.x2[1];
-      var43.i = _src.x2[0];
-    }
-    /* 5: avgub */
-    var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
-    var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
-    /* 6: swapw */
-    var39.i = ORC_SWAP_W (var44.i);
-    /* 7: storew */
-    ptr1[i] = var39;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_NV21 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_union16 *ORC_RESTRICT ptr1;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var37;
-  orc_union16 var38;
-  orc_union16 var39;
-  orc_union32 var40;
-  orc_union32 var41;
-  orc_union16 var42;
-  orc_union16 var43;
-  orc_union16 var44;
-
-  ptr0 = (orc_union16 *) ex->arrays[0];
-  ptr1 = (orc_union16 *) ex->arrays[1];
-  ptr4 = (orc_union64 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var37 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[0];
-      var40.x2[0] = _src.x2[1];
-      var41.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var37.x2[1];
-      var40.x2[1] = _src.x2[1];
-      var41.x2[1] = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var41.x2[0];
-      var38.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var41.x2[1];
-      var38.x2[1] = _src.x2[1];
-    }
-    /* 3: storew */
-    ptr0[i] = var38;
-    /* 4: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var40.i;
-      var42.i = _src.x2[1];
-      var43.i = _src.x2[0];
-    }
-    /* 5: avgub */
-    var44.x2[0] = ((orc_uint8) var42.x2[0] + (orc_uint8) var43.x2[0] + 1) >> 1;
-    var44.x2[1] = ((orc_uint8) var42.x2[1] + (orc_uint8) var43.x2[1] + 1) >> 1;
-    /* 6: swapw */
-    var39.i = ORC_SWAP_W (var44.i);
-    /* 7: storew */
-    ptr1[i] = var39;
-  }
-
-}
-
-void
-cogorc_putline_NV21 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    const guint8 * ORC_RESTRICT s1, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_NV21");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_NV21);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 2, "d2");
-      orc_program_add_source (p, 8, "s1");
-      orc_program_add_temporary (p, 4, "t1");
-      orc_program_add_temporary (p, 4, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-      orc_program_add_temporary (p, 2, "t5");
-
-      orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "splitlw", 0, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 1, ORC_VAR_T5, ORC_VAR_T3, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "swapw", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_D1,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
-
-
-/* cogorc_putline_A420 */
-#ifdef DISABLE_ORC
-void
-cogorc_putline_A420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
-    const guint8 * ORC_RESTRICT s1, int n)
-{
-  int i;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  orc_union16 *ORC_RESTRICT ptr3;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_int8 var42;
-  orc_union32 var43;
-  orc_union32 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_int8 var47;
-  orc_int8 var48;
-  orc_int8 var49;
-  orc_int8 var50;
-
-  ptr0 = (orc_union16 *) d1;
-  ptr1 = (orc_int8 *) d2;
-  ptr2 = (orc_int8 *) d3;
-  ptr3 = (orc_union16 *) d4;
-  ptr4 = (orc_union64 *) s1;
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var38 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var38.x2[0];
-      var43.x2[0] = _src.x2[1];
-      var44.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var38.x2[1];
-      var43.x2[1] = _src.x2[1];
-      var44.x2[1] = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var44.x2[0];
-      var39.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var44.x2[1];
-      var39.x2[1] = _src.x2[1];
-    }
-    /* 3: storew */
-    ptr0[i] = var39;
-    /* 4: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var44.x2[0];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var44.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 5: storew */
-    ptr3[i] = var40;
-    /* 6: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.x2[0];
-      var45.x2[0] = _src.x2[1];
-      var46.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var43.x2[1];
-      var45.x2[1] = _src.x2[1];
-      var46.x2[1] = _src.x2[0];
-    }
-    /* 7: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var46.i;
-      var47 = _src.x2[1];
-      var48 = _src.x2[0];
-    }
-    /* 8: avgub */
-    var41 = ((orc_uint8) var47 + (orc_uint8) var48 + 1) >> 1;
-    /* 9: storeb */
-    ptr1[i] = var41;
-    /* 10: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var45.i;
-      var49 = _src.x2[1];
-      var50 = _src.x2[0];
-    }
-    /* 11: avgub */
-    var42 = ((orc_uint8) var49 + (orc_uint8) var50 + 1) >> 1;
-    /* 12: storeb */
-    ptr2[i] = var42;
-  }
-
-}
-
-#else
-static void
-_backup_cogorc_putline_A420 (OrcExecutor * ORC_RESTRICT ex)
-{
-  int i;
-  int n = ex->n;
-  orc_union16 *ORC_RESTRICT ptr0;
-  orc_int8 *ORC_RESTRICT ptr1;
-  orc_int8 *ORC_RESTRICT ptr2;
-  orc_union16 *ORC_RESTRICT ptr3;
-  const orc_union64 *ORC_RESTRICT ptr4;
-  orc_union64 var38;
-  orc_union16 var39;
-  orc_union16 var40;
-  orc_int8 var41;
-  orc_int8 var42;
-  orc_union32 var43;
-  orc_union32 var44;
-  orc_union16 var45;
-  orc_union16 var46;
-  orc_int8 var47;
-  orc_int8 var48;
-  orc_int8 var49;
-  orc_int8 var50;
-
-  ptr0 = (orc_union16 *) ex->arrays[0];
-  ptr1 = (orc_int8 *) ex->arrays[1];
-  ptr2 = (orc_int8 *) ex->arrays[2];
-  ptr3 = (orc_union16 *) ex->arrays[3];
-  ptr4 = (orc_union64 *) ex->arrays[4];
-
-
-  for (i = 0; i < n; i++) {
-    /* 0: loadq */
-    var38 = ptr4[i];
-    /* 1: splitlw */
-    {
-      orc_union32 _src;
-      _src.i = var38.x2[0];
-      var43.x2[0] = _src.x2[1];
-      var44.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union32 _src;
-      _src.i = var38.x2[1];
-      var43.x2[1] = _src.x2[1];
-      var44.x2[1] = _src.x2[0];
-    }
-    /* 2: select1wb */
-    {
-      orc_union16 _src;
-      _src.i = var44.x2[0];
-      var39.x2[0] = _src.x2[1];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var44.x2[1];
-      var39.x2[1] = _src.x2[1];
-    }
-    /* 3: storew */
-    ptr0[i] = var39;
-    /* 4: select0wb */
-    {
-      orc_union16 _src;
-      _src.i = var44.x2[0];
-      var40.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var44.x2[1];
-      var40.x2[1] = _src.x2[0];
-    }
-    /* 5: storew */
-    ptr3[i] = var40;
-    /* 6: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var43.x2[0];
-      var45.x2[0] = _src.x2[1];
-      var46.x2[0] = _src.x2[0];
-    }
-    {
-      orc_union16 _src;
-      _src.i = var43.x2[1];
-      var45.x2[1] = _src.x2[1];
-      var46.x2[1] = _src.x2[0];
-    }
-    /* 7: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var46.i;
-      var47 = _src.x2[1];
-      var48 = _src.x2[0];
-    }
-    /* 8: avgub */
-    var41 = ((orc_uint8) var47 + (orc_uint8) var48 + 1) >> 1;
-    /* 9: storeb */
-    ptr1[i] = var41;
-    /* 10: splitwb */
-    {
-      orc_union16 _src;
-      _src.i = var45.i;
-      var49 = _src.x2[1];
-      var50 = _src.x2[0];
-    }
-    /* 11: avgub */
-    var42 = ((orc_uint8) var49 + (orc_uint8) var50 + 1) >> 1;
-    /* 12: storeb */
-    ptr2[i] = var42;
-  }
-
-}
-
-void
-cogorc_putline_A420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2,
-    guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4,
-    const guint8 * ORC_RESTRICT s1, int n)
-{
-  OrcExecutor _ex, *ex = &_ex;
-  static int p_inited = 0;
-  static OrcProgram *p = 0;
-  void (*func) (OrcExecutor *);
-
-  if (!p_inited) {
-    orc_once_mutex_lock ();
-    if (!p_inited) {
-
-      p = orc_program_new ();
-      orc_program_set_name (p, "cogorc_putline_A420");
-      orc_program_set_backup_function (p, _backup_cogorc_putline_A420);
-      orc_program_add_destination (p, 2, "d1");
-      orc_program_add_destination (p, 1, "d2");
-      orc_program_add_destination (p, 1, "d3");
-      orc_program_add_destination (p, 2, "d4");
-      orc_program_add_source (p, 8, "s1");
-      orc_program_add_temporary (p, 4, "t1");
-      orc_program_add_temporary (p, 4, "t2");
-      orc_program_add_temporary (p, 2, "t3");
-      orc_program_add_temporary (p, 2, "t4");
-      orc_program_add_temporary (p, 1, "t5");
-      orc_program_add_temporary (p, 1, "t6");
-
-      orc_program_append_2 (p, "splitlw", 1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_S1,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "select0wb", 1, ORC_VAR_D4, ORC_VAR_T1,
-          ORC_VAR_D1, ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 1, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_T2,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T3,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D2, ORC_VAR_T5, ORC_VAR_T6,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "splitwb", 0, ORC_VAR_T5, ORC_VAR_T6, ORC_VAR_T4,
-          ORC_VAR_D1);
-      orc_program_append_2 (p, "avgub", 0, ORC_VAR_D3, ORC_VAR_T5, ORC_VAR_T6,
-          ORC_VAR_D1);
-
-      orc_program_compile (p);
-    }
-    p_inited = TRUE;
-    orc_once_mutex_unlock ();
-  }
-  ex->program = p;
-
-  ex->n = n;
-  ex->arrays[ORC_VAR_D1] = d1;
-  ex->arrays[ORC_VAR_D2] = d2;
-  ex->arrays[ORC_VAR_D3] = d3;
-  ex->arrays[ORC_VAR_D4] = d4;
-  ex->arrays[ORC_VAR_S1] = (void *) s1;
-
-  func = p->code_exec;
-  func (ex);
-}
-#endif
diff --git a/gst/colorspace/gstcolorspaceorc-dist.h b/gst/colorspace/gstcolorspaceorc-dist.h
deleted file mode 100644 (file)
index 2384b52..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-
-/* autogenerated from gstcolorspaceorc.orc */
-
-#ifndef _GSTCOLORSPACEORC_H_
-#define _GSTCOLORSPACEORC_H_
-
-#include <glib.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-
-#ifndef _ORC_INTEGER_TYPEDEFS_
-#define _ORC_INTEGER_TYPEDEFS_
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#include <stdint.h>
-typedef int8_t orc_int8;
-typedef int16_t orc_int16;
-typedef int32_t orc_int32;
-typedef int64_t orc_int64;
-typedef uint8_t orc_uint8;
-typedef uint16_t orc_uint16;
-typedef uint32_t orc_uint32;
-typedef uint64_t orc_uint64;
-#define ORC_UINT64_C(x) UINT64_C(x)
-#elif defined(_MSC_VER)
-typedef signed __int8 orc_int8;
-typedef signed __int16 orc_int16;
-typedef signed __int32 orc_int32;
-typedef signed __int64 orc_int64;
-typedef unsigned __int8 orc_uint8;
-typedef unsigned __int16 orc_uint16;
-typedef unsigned __int32 orc_uint32;
-typedef unsigned __int64 orc_uint64;
-#define ORC_UINT64_C(x) (x##Ui64)
-#define inline __inline
-#else
-#include <limits.h>
-typedef signed char orc_int8;
-typedef short orc_int16;
-typedef int orc_int32;
-typedef unsigned char orc_uint8;
-typedef unsigned short orc_uint16;
-typedef unsigned int orc_uint32;
-#if INT_MAX == LONG_MAX
-typedef long long orc_int64;
-typedef unsigned long long orc_uint64;
-#define ORC_UINT64_C(x) (x##ULL)
-#else
-typedef long orc_int64;
-typedef unsigned long orc_uint64;
-#define ORC_UINT64_C(x) (x##UL)
-#endif
-#endif
-typedef union { orc_int16 i; orc_int8 x2[2]; } orc_union16;
-typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32;
-typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16 x4[4]; } orc_union64;
-#endif
-#ifndef ORC_RESTRICT
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#define ORC_RESTRICT restrict
-#elif defined(__GNUC__) && __GNUC__ >= 4
-#define ORC_RESTRICT __restrict__
-#else
-#define ORC_RESTRICT
-#endif
-#endif
-void cogorc_memcpy_2d (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_downsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_downsample_horiz_cosite_3tap (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_downsample_420_jpeg (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_downsample_vert_halfsite_2tap (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_downsample_vert_cosite_3tap (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void cogorc_downsample_vert_halfsite_4tap (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
-void cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_upsample_vert_avgub (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void orc_unpack_yuyv_y (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void orc_unpack_yuyv_u (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void orc_unpack_yuyv_v (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void orc_pack_yuyv (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void orc_unpack_uyvy_y (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void orc_unpack_uyvy_u (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void orc_unpack_uyvy_v (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void orc_pack_uyvy (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int p3, int n);
-void orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int n);
-void orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int n);
-void orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int n);
-void orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int n);
-void orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5, int n);
-void orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5, int n);
-void orc_pack_123x (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int n);
-void orc_pack_x123 (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int n);
-void cogorc_combine2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int n);
-void cogorc_convert_I420_UYVY (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
-void cogorc_convert_I420_YUY2 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
-void cogorc_convert_I420_AYUV (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
-void cogorc_convert_YUY2_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_convert_UYVY_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_420_422 (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_420_444 (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_422_444 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_444_422 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_planar_chroma_444_420 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
-void cogorc_planar_chroma_422_420 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
-void cogorc_convert_YUY2_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_UYVY_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_YUY2_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_UYVY_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_YUY2_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_UYVY_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_UYVY_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_convert_AYUV_I420 (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, guint8 * ORC_RESTRICT d4, int d4_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
-void cogorc_convert_AYUV_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_Y42B_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y42B_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y42B_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y444_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y444_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
-void cogorc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
-void cogorc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void cogorc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, const guint8 * ORC_RESTRICT s5, int n);
-void cogorc_getline_I420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void cogorc_getline_YUV9 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void cogorc_getline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_Y42B (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void cogorc_getline_Y444 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
-void cogorc_getline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_getline_NV12 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_getline_NV21 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
-void cogorc_getline_A420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
-void cogorc_putline_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_Y42B (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_Y444 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_NV12 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_NV21 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n);
-void cogorc_putline_A420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1, int n);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
diff --git a/gst/colorspace/gstcolorspaceorc.orc b/gst/colorspace/gstcolorspaceorc.orc
deleted file mode 100644 (file)
index 086990e..0000000
+++ /dev/null
@@ -1,1757 +0,0 @@
-
-.function cogorc_memcpy_2d
-.flags 2d
-.dest 1 d1 guint8
-.source 1 s1 guint8
-
-copyb d1, s1
-
-
-.function cogorc_downsample_horiz_cosite_1tap
-.dest 1 d1 guint8
-.source 2 s1 guint8
-
-select0wb d1, s1
-
-
-.function cogorc_downsample_horiz_cosite_3tap
-.dest 1 d1 guint8
-.source 2 s1 guint8
-.source 2 s2 guint8
-.temp 1 t1
-.temp 1 t2
-.temp 1 t3
-.temp 2 t4
-.temp 2 t5
-.temp 2 t6
-
-copyw t4, s1
-select0wb t1, t4
-select1wb t2, t4
-select0wb t3, s2
-convubw t4, t1
-convubw t5, t2
-convubw t6, t3
-mullw t5, t5, 2
-addw t4, t4, t6
-addw t4, t4, t5
-addw t4, t4, 2
-shrsw t4, t4, 2
-convsuswb d1, t4
-
-
-.function cogorc_downsample_420_jpeg
-.dest 1 d1 guint8
-.source 2 s1 guint8
-.source 2 s2 guint8
-.temp 2 t1
-.temp 1 t2
-.temp 1 t3
-.temp 1 t4
-.temp 1 t5
-
-copyw t1, s1
-select0wb t2, t1
-select1wb t3, t1
-avgub t2, t2, t3
-copyw t1, s2
-select0wb t4, t1
-select1wb t5, t1
-avgub t4, t4, t5
-avgub d1, t2, t4
-
-
-.function cogorc_downsample_vert_halfsite_2tap
-.dest 1 d1 guint8
-.source 1 s1 guint8
-.source 1 s2 guint8
-
-avgub d1, s1, s2
-
-
-.function cogorc_downsample_vert_cosite_3tap
-.dest 1 d1 guint8
-.source 1 s1 guint8
-.source 1 s2 guint8
-.source 1 s3 guint8
-.temp 2 t1
-.temp 2 t2
-.temp 2 t3
-
-convubw t1, s1
-convubw t2, s2
-convubw t3, s3
-mullw t2, t2, 2
-addw t1, t1, t3
-addw t1, t1, t2
-addw t1, t1, 2
-shrsw t1, t1, 2
-convsuswb d1, t1
-
-
-
-.function cogorc_downsample_vert_halfsite_4tap
-.dest 1 d1 guint8
-.source 1 s1 guint8
-.source 1 s2 guint8
-.source 1 s3 guint8
-.source 1 s4 guint8
-.temp 2 t1
-.temp 2 t2
-.temp 2 t3
-.temp 2 t4
-
-convubw t1, s1
-convubw t2, s2
-convubw t3, s3
-convubw t4, s4
-addw t2, t2, t3
-mullw t2, t2, 26
-addw t1, t1, t4
-mullw t1, t1, 6
-addw t2, t2, t1
-addw t2, t2, 32
-shrsw t2, t2, 6
-convsuswb d1, t2
-
-
-.function cogorc_upsample_horiz_cosite_1tap
-.dest 2 d1 guint8 guint8
-.source 1 s1 guint8
-.temp 1 t1
-
-copyb t1, s1
-mergebw d1, t1, t1
-
-
-.function cogorc_upsample_horiz_cosite
-.dest 2 d1 guint8 guint8
-.source 1 s1 guint8
-.source 1 s2 guint8
-.temp 1 t1
-.temp 1 t2
-
-copyb t1, s1
-avgub t2, t1, s2
-mergebw d1, t1, t2
-
-
-.function cogorc_upsample_vert_avgub
-.dest 1 d1 guint8
-.source 1 s1 guint8
-.source 1 s2 guint8
-
-avgub d1, s1, s2
-
-
-
-
-.function orc_unpack_yuyv_y
-.dest 1 d1 guint8
-.source 2 s1 guint8
-
-select0wb d1, s1
-
-
-.function orc_unpack_yuyv_u
-.dest 1 d1 guint8
-.source 4 s1 guint8
-.temp 2 t1
-
-select0lw t1, s1
-select1wb d1, t1
-
-
-.function orc_unpack_yuyv_v
-.dest 1 d1 guint8
-.source 4 s1 guint8
-.temp 2 t1
-
-select1lw t1, s1
-select1wb d1, t1
-
-
-.function orc_pack_yuyv
-.dest 4 d1 guint8
-.source 2 s1 guint8 guint8
-.source 1 s2 guint8
-.source 1 s3 guint8
-.temp 1 t1
-.temp 1 t2
-.temp 2 t3
-.temp 2 t4
-.temp 2 t5
-
-copyw t5, s1
-select0wb t1, t5
-select1wb t2, t5
-mergebw t3, t1, s2
-mergebw t4, t2, s3
-mergewl d1, t3, t4
-
-
-.function orc_unpack_uyvy_y
-.dest 1 d1 guint8
-.source 2 s1 guint8
-
-select1wb d1, s1
-
-
-.function orc_unpack_uyvy_u
-.dest 1 d1 guint8
-.source 4 s1 guint8
-.temp 2 t1
-
-select0lw t1, s1
-select0wb d1, t1
-
-
-.function orc_unpack_uyvy_v
-.dest 1 d1 guint8
-.source 4 s1 guint8
-.temp 2 t1
-
-select1lw t1, s1
-select0wb d1, t1
-
-
-.function orc_pack_uyvy
-.dest 4 d1 guint8
-.source 2 s1 guint8 guint8
-.source 1 s2 guint8
-.source 1 s3 guint8
-.temp 1 t1
-.temp 1 t2
-.temp 2 t3
-.temp 2 t4
-.temp 2 t5
-
-copyw t5, s1
-select0wb t1, t5
-select1wb t2, t5
-mergebw t3, s2, t1
-mergebw t4, s3, t2
-mergewl d1, t3, t4
-
-
-.function orc_matrix2_u8
-.dest 1 d1 guint8 guint8
-.source 1 s1 guint8 guint8
-.source 1 s2 guint8 guint8
-.param 2 p1
-.param 2 p2
-.param 2 p3
-.temp 2 t1
-.temp 2 t2
-
-convubw t1, s1
-mullw t1, t1, p1
-convubw t2, s2
-mullw t2, t2, p2
-addw t1, t1, t2
-addw t1, t1, p3
-shrsw t1, t1, 6
-convsuswb d1, t1
-
-
-.function orc_matrix2_11_u8
-.dest 1 d1 guint8 guint8
-.source 1 s1 guint8 guint8
-.source 1 s2 guint8 guint8
-.param 2 p1
-.param 2 p2
-.temp 2 t1
-.temp 2 t2
-.temp 2 t3
-.temp 2 t4
-
-convubw t1, s1
-subw t1, t1, 16
-mullw t3, t1, p1
-convubw t2, s2
-subw t2, t2, 128
-mullw t4, t2, p2
-addw t3, t3, t4
-addw t3, t3, 128
-shrsw t3, t3, 8
-addw t3, t3, t1
-addw t3, t3, t2
-convsuswb d1, t3
-
-
-.function orc_matrix2_12_u8
-.dest 1 d1 guint8 guint8
-.source 1 s1 guint8 guint8
-.source 1 s2 guint8 guint8
-.param 2 p1
-.param 2 p2
-.temp 2 t1
-.temp 2 t2
-.temp 2 t3
-.temp 2 t4
-
-convubw t1, s1
-subw t1, t1, 16
-mullw t3, t1, p1
-convubw t2, s2
-subw t2, t2, 128
-mullw t4, t2, p2
-addw t3, t3, t4
-addw t3, t3, 128
-shrsw t3, t3, 8
-addw t3, t3, t1
-addw t3, t3, t2
-addw t3, t3, t2
-convsuswb d1, t3
-
-
-.function orc_matrix3_u8
-.dest 1 d1 guint8 guint8
-.source 1 s1 guint8 guint8
-.source 1 s2 guint8 guint8
-.source 1 s3 guint8 guint8
-.param 2 p1
-.param 2 p2
-.param 2 p3
-.param 2 p4
-.temp 2 t1
-.temp 2 t2
-
-convubw t1, s1
-mullw t1, t1, p1
-convubw t2, s2
-mullw t2, t2, p2
-addw t1, t1, t2
-convubw t2, s3
-mullw t2, t2, p3
-addw t1, t1, t2
-addw t1, t1, p4
-shrsw t1, t1, 6
-convsuswb d1, t1
-
-
-.function orc_matrix3_100_u8
-.dest 1 d1 guint8 guint8
-.source 1 s1 guint8 guint8
-.source 1 s2 guint8 guint8
-.source 1 s3 guint8 guint8
-.param 2 p1
-.param 2 p2
-.param 2 p3
-.temp 2 t1
-.temp 2 t2
-.temp 2 t3
-#.temp 2 t4
-
-convubw t1, s1
-subw t1, t1, 16
-mullw t3, t1, p1
-convubw t2, s2
-subw t2, t2, 128
-mullw t2, t2, p2
-addw t3, t3, t2
-convubw t2, s3
-subw t2, t2, 128
-mullw t2, t2, p3
-addw t3, t3, t2
-addw t3, t3, 128
-shrsw t3, t3, 8
-addw t3, t3, t1
-convsuswb d1, t3
-
-
-.function orc_matrix3_100_offset_u8
-.dest 1 d1 guint8 guint8
-.source 1 s1 guint8 guint8
-.source 1 s2 guint8 guint8
-.source 1 s3 guint8 guint8
-.param 2 p1
-.param 2 p2
-.param 2 p3
-.param 2 p4
-.param 2 p5
-#.param 2 p6
-.temp 2 t1
-.temp 2 t2
-.temp 2 t3
-#.temp 2 t3
-#.temp 2 t4
-
-convubw t3, s1
-mullw t1, t3, p1
-convubw t2, s2
-mullw t2, t2, p2
-addw t1, t1, t2
-convubw t2, s3
-mullw t2, t2, p3
-addw t1, t1, t2
-addw t1, t1, p4
-shrsw t1, t1, p5
-#addw t1, t1, p6
-addw t1, t1, t3
-convsuswb d1, t1
-
-
-
-.function orc_matrix3_000_u8
-.dest 1 d1 guint8 guint8
-.source 1 s1 guint8 guint8
-.source 1 s2 guint8 guint8
-.source 1 s3 guint8 guint8
-.param 2 p1
-.param 2 p2
-.param 2 p3
-.param 2 p4
-.param 2 p5
-#.param 2 p6
-.temp 2 t1
-.temp 2 t2
-#.temp 2 t3
-#.temp 2 t4
-
-convubw t1, s1
-mullw t1, t1, p1
-convubw t2, s2
-mullw t2, t2, p2
-addw t1, t1, t2
-convubw t2, s3
-mullw t2, t2, p3
-addw t1, t1, t2
-addw t1, t1, p4
-shrsw t1, t1, p5
-#addw t1, t1, p6
-convwb d1, t1
-
-
-
-.function orc_pack_123x
-.dest 4 d1 guint32 guint8
-.source 1 s1 guint8
-.source 1 s2 guint8
-.source 1 s3 guint8
-.param 1 p1
-.temp 2 t1
-.temp 2 t2
-
-mergebw t1, s1, s2
-mergebw t2, s3, p1
-mergewl d1, t1, t2
-
-
-.function orc_pack_x123
-.dest 4 d1 guint32 guint8
-.source 1 s1 guint8
-.source 1 s2 guint8
-.source 1 s3 guint8
-.param 1 p1
-.temp 2 t1
-.temp 2 t2
-
-mergebw t1, p1, s1
-mergebw t2, s2, s3
-mergewl d1, t1, t2
-
-
-.function cogorc_combine2_u8
-.dest 1 d1 guint8
-.source 1 s1 guint8
-.source 1 s2 guint8
-.param 2 p1
-.param 2 p2
-.temp 2 t1
-.temp 2 t2
-
-convubw t1, s1
-mullw t1, t1, p1
-convubw t2, s2
-mullw t2, t2, p2
-addw t1, t1, t2
-shruw t1, t1, 8
-convsuswb d1, t1
-
-
-.function cogorc_convert_I420_UYVY
-.dest 4 d1 guint8
-.dest 4 d2 guint8
-.source 2 y1 guint8
-.source 2 y2 guint8
-.source 1 u guint8
-.source 1 v guint8
-.temp 2 uv
-
-mergebw uv, u, v
-x2 mergebw d1, uv, y1
-x2 mergebw d2, uv, y2
-
-
-.function cogorc_convert_I420_YUY2
-.dest 4 d1 guint8
-.dest 4 d2 guint8
-.source 2 y1 guint8
-.source 2 y2 guint8
-.source 1 u guint8
-.source 1 v guint8
-.temp 2 uv
-
-mergebw uv, u, v
-x2 mergebw d1, y1, uv
-x2 mergebw d2, y2, uv
-
-
-
-.function cogorc_convert_I420_AYUV
-.dest 4 d1 guint8
-.dest 4 d2 guint8
-.source 1 y1 guint8
-.source 1 y2 guint8
-.source 1 u guint8
-.source 1 v guint8
-.const 1 c255 255
-.temp 2 uv
-.temp 2 ay
-.temp 1 tu
-.temp 1 tv
-
-loadupdb tu, u
-loadupdb tv, v
-mergebw uv, tu, tv
-mergebw ay, c255, y1
-mergewl d1, ay, uv
-mergebw ay, c255, y2
-mergewl d2, ay, uv
-
-
-.function cogorc_convert_YUY2_I420
-.dest 2 y1 guint8
-.dest 2 y2 guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.source 4 yuv1 guint8
-.source 4 yuv2 guint8
-.temp 2 t1
-.temp 2 t2
-.temp 2 ty
-
-x2 splitwb t1, ty, yuv1
-storew y1, ty
-x2 splitwb t2, ty, yuv2
-storew y2, ty
-x2 avgub t1, t1, t2
-splitwb v, u, t1
-
-
-.function cogorc_convert_UYVY_YUY2
-.flags 2d
-.dest 4 yuy2 guint8
-.source 4 uyvy guint8
-
-x2 swapw yuy2, uyvy
-
-
-.function cogorc_planar_chroma_420_422
-.flags 2d
-.dest 1 d1 guint8
-.dest 1 d2 guint8
-.source 1 s guint8
-
-copyb d1, s
-copyb d2, s
-
-
-.function cogorc_planar_chroma_420_444
-.flags 2d
-.dest 2 d1 guint8
-.dest 2 d2 guint8
-.source 1 s guint8
-.temp 2 t
-
-splatbw t, s
-storew d1, t
-storew d2, t
-
-
-.function cogorc_planar_chroma_422_444
-.flags 2d
-.dest 2 d1 guint8
-.source 1 s guint8
-.temp 2 t
-
-splatbw t, s
-storew d1, t
-
-
-.function cogorc_planar_chroma_444_422
-.flags 2d
-.dest 1 d guint8
-.source 2 s guint8
-.temp 1 t1
-.temp 1 t2
-
-splitwb t1, t2, s
-avgub d, t1, t2
-
-
-.function cogorc_planar_chroma_444_420
-.flags 2d
-.dest 1 d guint8
-.source 2 s1 guint8
-.source 2 s2 guint8
-.temp 2 t
-.temp 1 t1
-.temp 1 t2
-
-x2 avgub t, s1, s2
-splitwb t1, t2, t
-avgub d, t1, t2
-
-
-.function cogorc_planar_chroma_422_420
-.flags 2d
-.dest 1 d guint8
-.source 1 s1 guint8
-.source 1 s2 guint8
-
-avgub d, s1, s2
-
-
-.function cogorc_convert_YUY2_AYUV
-.flags 2d
-.dest 8 ayuv guint8
-.source 4 yuy2 guint8
-.const 2 c255 0xff
-.temp 2 yy
-.temp 2 uv
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitwb uv, yy, yuy2
-x2 mergebw ayay, c255, yy
-mergewl uvuv, uv, uv
-x2 mergewl ayuv, ayay, uvuv
-
-
-.function cogorc_convert_UYVY_AYUV
-.flags 2d
-.dest 8 ayuv guint8
-.source 4 uyvy guint8
-.const 2 c255 0xff
-.temp 2 yy
-.temp 2 uv
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitwb yy, uv, uyvy
-x2 mergebw ayay, c255, yy
-mergewl uvuv, uv, uv
-x2 mergewl ayuv, ayay, uvuv
-
-
-.function cogorc_convert_YUY2_Y42B
-.flags 2d
-.dest 2 y guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.source 4 yuy2 guint8
-.temp 2 uv
-
-x2 splitwb uv, y, yuy2
-splitwb v, u, uv
-
-
-.function cogorc_convert_UYVY_Y42B
-.flags 2d
-.dest 2 y guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.source 4 uyvy guint8
-.temp 2 uv
-
-x2 splitwb y, uv, uyvy
-splitwb v, u, uv
-
-
-.function cogorc_convert_YUY2_Y444
-.flags 2d
-.dest 2 y guint8
-.dest 2 uu guint8
-.dest 2 vv guint8
-.source 4 yuy2 guint8
-.temp 2 uv
-.temp 1 u
-.temp 1 v
-
-x2 splitwb uv, y, yuy2
-splitwb v, u, uv
-splatbw uu, u
-splatbw vv, v
-
-
-.function cogorc_convert_UYVY_Y444
-.flags 2d
-.dest 2 y guint8
-.dest 2 uu guint8
-.dest 2 vv guint8
-.source 4 uyvy guint8
-.temp 2 uv
-.temp 1 u
-.temp 1 v
-
-x2 splitwb y, uv, uyvy
-splitwb v, u, uv
-splatbw uu, u
-splatbw vv, v
-
-
-.function cogorc_convert_UYVY_I420
-.dest 2 y1 guint8
-.dest 2 y2 guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.source 4 yuv1 guint8
-.source 4 yuv2 guint8
-.temp 2 t1
-.temp 2 t2
-.temp 2 ty
-
-x2 splitwb ty, t1, yuv1
-storew y1, ty
-x2 splitwb ty, t2, yuv2
-storew y2, ty
-x2 avgub t1, t1, t2
-splitwb v, u, t1
-
-
-
-.function cogorc_convert_AYUV_I420
-.flags 2d
-.dest 2 y1 guint8
-.dest 2 y2 guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.source 8 ayuv1 guint8
-.source 8 ayuv2 guint8
-.temp 4 ay
-.temp 4 uv1
-.temp 4 uv2
-.temp 4 uv
-.temp 2 uu
-.temp 2 vv
-.temp 1 t1
-.temp 1 t2
-
-x2 splitlw uv1, ay, ayuv1
-x2 select1wb y1, ay
-x2 splitlw uv2, ay, ayuv2
-x2 select1wb y2, ay
-x4 avgub uv, uv1, uv2
-x2 splitwb vv, uu, uv
-splitwb t1, t2, uu
-avgub u, t1, t2
-splitwb t1, t2, vv
-avgub v, t1, t2
-
-
-
-.function cogorc_convert_AYUV_YUY2
-.flags 2d
-.dest 4 yuy2 guint8
-.source 8 ayuv guint8
-.temp 2 yy
-.temp 2 uv1
-.temp 2 uv2
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitlw uvuv, ayay, ayuv
-splitlw uv1, uv2, uvuv
-x2 avgub uv1, uv1, uv2
-x2 select1wb yy, ayay
-x2 mergebw yuy2, yy, uv1
-
-
-.function cogorc_convert_AYUV_UYVY
-.flags 2d
-.dest 4 yuy2 guint8
-.source 8 ayuv guint8
-.temp 2 yy
-.temp 2 uv1
-.temp 2 uv2
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitlw uvuv, ayay, ayuv
-splitlw uv1, uv2, uvuv
-x2 avgub uv1, uv1, uv2
-x2 select1wb yy, ayay
-x2 mergebw yuy2, uv1, yy
-
-
-
-.function cogorc_convert_AYUV_Y42B
-.flags 2d
-.dest 2 y guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.source 8 ayuv guint8
-.temp 4 ayay
-.temp 4 uvuv
-.temp 2 uv1
-.temp 2 uv2
-
-x2 splitlw uvuv, ayay, ayuv
-splitlw uv1, uv2, uvuv
-x2 avgub uv1, uv1, uv2
-splitwb v, u, uv1
-x2 select1wb y, ayay
-
-
-.function cogorc_convert_AYUV_Y444
-.flags 2d
-.dest 1 y guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.source 4 ayuv guint8
-.temp 2 ay
-.temp 2 uv
-
-splitlw uv, ay, ayuv
-splitwb v, u, uv
-select1wb y, ay
-
-
-.function cogorc_convert_Y42B_YUY2
-.flags 2d
-.dest 4 yuy2 guint8
-.source 2 y guint8
-.source 1 u guint8
-.source 1 v guint8
-.temp 2 uv
-
-mergebw uv, u, v
-x2 mergebw yuy2, y, uv
-
-
-.function cogorc_convert_Y42B_UYVY
-.flags 2d
-.dest 4 uyvy guint8
-.source 2 y guint8
-.source 1 u guint8
-.source 1 v guint8
-.temp 2 uv
-
-mergebw uv, u, v
-x2 mergebw uyvy, uv, y
-
-
-.function cogorc_convert_Y42B_AYUV
-.flags 2d
-.dest 8 ayuv guint8
-.source 2 yy guint8
-.source 1 u guint8
-.source 1 v guint8
-.const 1 c255 255
-.temp 2 uv
-.temp 2 ay
-.temp 4 uvuv
-.temp 4 ayay
-
-mergebw uv, u, v
-x2 mergebw ayay, c255, yy
-mergewl uvuv, uv, uv
-x2 mergewl ayuv, ayay, uvuv
-
-
-.function cogorc_convert_Y444_YUY2
-.flags 2d
-.dest 4 yuy2 guint8
-.source 2 y guint8
-.source 2 u guint8
-.source 2 v guint8
-.temp 2 uv
-.temp 4 uvuv
-.temp 2 uv1
-.temp 2 uv2
-
-x2 mergebw uvuv, u, v
-splitlw uv1, uv2, uvuv
-x2 avgub uv, uv1, uv2
-x2 mergebw yuy2, y, uv
-
-
-.function cogorc_convert_Y444_UYVY
-.flags 2d
-.dest 4 uyvy guint8
-.source 2 y guint8
-.source 2 u guint8
-.source 2 v guint8
-.temp 2 uv
-.temp 4 uvuv
-.temp 2 uv1
-.temp 2 uv2
-
-x2 mergebw uvuv, u, v
-splitlw uv1, uv2, uvuv
-x2 avgub uv, uv1, uv2
-x2 mergebw uyvy, uv, y
-
-
-.function cogorc_convert_Y444_AYUV
-.flags 2d
-.dest 4 ayuv guint8
-.source 1 yy guint8
-.source 1 u guint8
-.source 1 v guint8
-.const 1 c255 255
-.temp 2 uv
-.temp 2 ay
-
-mergebw uv, u, v
-mergebw ay, c255, yy
-mergewl ayuv, ay, uv
-
-
-
-.function cogorc_convert_AYUV_ARGB
-.flags 2d
-.dest 4 argb guint8
-.source 4 ayuv guint8
-.temp 2 t1
-.temp 2 t2
-.temp 1 a
-.temp 1 y
-.temp 1 u
-.temp 1 v
-.temp 2 wy
-.temp 2 wu
-.temp 2 wv
-.temp 2 wr
-.temp 2 wg
-.temp 2 wb
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 4 x
-.const 1 c8 8
-
-x4 subb x, ayuv, 128
-splitlw t1, t2, x
-splitwb y, a, t2
-splitwb v, u, t1
-convsbw wy, y
-convsbw wu, u
-convsbw wv, v
-
-mullw t1, wy, 42
-shrsw t1, t1, c8
-addssw wy, wy, t1
-
-addssw wr, wy, wv
-mullw t1, wv, 103
-shrsw t1, t1, c8
-subssw wr, wr, t1
-addssw wr, wr, wv
-
-addssw wb, wy, wu
-addssw wb, wb, wu
-mullw t1, wu, 4
-shrsw t1, t1, c8
-addssw wb, wb, t1
-
-mullw t1, wu, 100
-shrsw t1, t1, c8
-subssw wg, wy, t1
-mullw t1, wv, 104
-shrsw t1, t1, c8
-subssw wg, wg, t1
-subssw wg, wg, t1
-
-convssswb r, wr
-convssswb g, wg
-convssswb b, wb
-
-mergebw t1, a, r
-mergebw t2, g, b
-mergewl x, t1, t2
-x4 addb argb, x, 128
-
-
-
-.function cogorc_convert_AYUV_BGRA
-.flags 2d
-.dest 4 argb guint8
-.source 4 ayuv guint8
-.temp 2 t1
-.temp 2 t2
-.temp 1 a
-.temp 1 y
-.temp 1 u
-.temp 1 v
-.temp 2 wy
-.temp 2 wu
-.temp 2 wv
-.temp 2 wr
-.temp 2 wg
-.temp 2 wb
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 4 x
-.const 1 c8 8
-
-x4 subb x, ayuv, 128
-splitlw t1, t2, x
-splitwb y, a, t2
-splitwb v, u, t1
-convsbw wy, y
-convsbw wu, u
-convsbw wv, v
-
-mullw t1, wy, 42
-shrsw t1, t1, c8
-addssw wy, wy, t1
-
-addssw wr, wy, wv
-mullw t1, wv, 103
-shrsw t1, t1, c8
-subssw wr, wr, t1
-addssw wr, wr, wv
-
-addssw wb, wy, wu
-addssw wb, wb, wu
-mullw t1, wu, 4
-shrsw t1, t1, c8
-addssw wb, wb, t1
-
-mullw t1, wu, 100
-shrsw t1, t1, c8
-subssw wg, wy, t1
-mullw t1, wv, 104
-shrsw t1, t1, c8
-subssw wg, wg, t1
-subssw wg, wg, t1
-
-convssswb r, wr
-convssswb g, wg
-convssswb b, wb
-
-mergebw t1, b, g
-mergebw t2, r, a
-mergewl x, t1, t2
-x4 addb argb, x, 128
-
-
-
-
-.function cogorc_convert_AYUV_ABGR
-.flags 2d
-.dest 4 argb guint8
-.source 4 ayuv guint8
-.temp 2 t1
-.temp 2 t2
-.temp 1 a
-.temp 1 y
-.temp 1 u
-.temp 1 v
-.temp 2 wy
-.temp 2 wu
-.temp 2 wv
-.temp 2 wr
-.temp 2 wg
-.temp 2 wb
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 4 x
-.const 1 c8 8
-
-x4 subb x, ayuv, 128
-splitlw t1, t2, x
-splitwb y, a, t2
-splitwb v, u, t1
-convsbw wy, y
-convsbw wu, u
-convsbw wv, v
-
-mullw t1, wy, 42
-shrsw t1, t1, c8
-addssw wy, wy, t1
-
-addssw wr, wy, wv
-mullw t1, wv, 103
-shrsw t1, t1, c8
-subssw wr, wr, t1
-addssw wr, wr, wv
-
-addssw wb, wy, wu
-addssw wb, wb, wu
-mullw t1, wu, 4
-shrsw t1, t1, c8
-addssw wb, wb, t1
-
-mullw t1, wu, 100
-shrsw t1, t1, c8
-subssw wg, wy, t1
-mullw t1, wv, 104
-shrsw t1, t1, c8
-subssw wg, wg, t1
-subssw wg, wg, t1
-
-convssswb r, wr
-convssswb g, wg
-convssswb b, wb
-
-mergebw t1, a, b
-mergebw t2, g, r
-mergewl x, t1, t2
-x4 addb argb, x, 128
-
-
-
-.function cogorc_convert_AYUV_RGBA
-.flags 2d
-.dest 4 argb guint8
-.source 4 ayuv guint8
-.temp 2 t1
-.temp 2 t2
-.temp 1 a
-.temp 1 y
-.temp 1 u
-.temp 1 v
-.temp 2 wy
-.temp 2 wu
-.temp 2 wv
-.temp 2 wr
-.temp 2 wg
-.temp 2 wb
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 4 x
-.const 1 c8 8
-
-x4 subb x, ayuv, 128
-splitlw t1, t2, x
-splitwb y, a, t2
-splitwb v, u, t1
-convsbw wy, y
-convsbw wu, u
-convsbw wv, v
-
-mullw t1, wy, 42
-shrsw t1, t1, c8
-addssw wy, wy, t1
-
-addssw wr, wy, wv
-mullw t1, wv, 103
-shrsw t1, t1, c8
-subssw wr, wr, t1
-addssw wr, wr, wv
-
-addssw wb, wy, wu
-addssw wb, wb, wu
-mullw t1, wu, 4
-shrsw t1, t1, c8
-addssw wb, wb, t1
-
-mullw t1, wu, 100
-shrsw t1, t1, c8
-subssw wg, wy, t1
-mullw t1, wv, 104
-shrsw t1, t1, c8
-subssw wg, wg, t1
-subssw wg, wg, t1
-
-convssswb r, wr
-convssswb g, wg
-convssswb b, wb
-
-mergebw t1, r, g
-mergebw t2, b, a
-mergewl x, t1, t2
-x4 addb argb, x, 128
-
-
-
-.function cogorc_convert_I420_BGRA
-.dest 4 argb guint8
-.source 1 y guint8
-.source 1 u guint8
-.source 1 v guint8
-.temp 2 t1
-.temp 2 t2
-.temp 1 t3
-.temp 2 wy
-.temp 2 wu
-.temp 2 wv
-.temp 2 wr
-.temp 2 wg
-.temp 2 wb
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 4 x
-.const 1 c8 8
-.const 1 c128 128
-
-subb t3, y, c128
-convsbw wy, t3
-loadupib t3, u
-subb t3, t3, c128
-convsbw wu, t3
-loadupib t3, v
-subb t3, t3, c128
-convsbw wv, t3
-
-mullw t1, wy, 42
-shrsw t1, t1, c8
-addssw wy, wy, t1
-
-addssw wr, wy, wv
-mullw t1, wv, 103
-shrsw t1, t1, c8
-subssw wr, wr, t1
-addssw wr, wr, wv
-
-addssw wb, wy, wu
-addssw wb, wb, wu
-mullw t1, wu, 4
-shrsw t1, t1, c8
-addssw wb, wb, t1
-
-mullw t1, wu, 100
-shrsw t1, t1, c8
-subssw wg, wy, t1
-mullw t1, wv, 104
-shrsw t1, t1, c8
-subssw wg, wg, t1
-subssw wg, wg, t1
-
-convssswb r, wr
-convssswb g, wg
-convssswb b, wb
-
-mergebw t1, b, g
-mergebw t2, r, 255
-mergewl x, t1, t2
-x4 addb argb, x, c128
-
-
-
-.function cogorc_convert_I420_BGRA_avg
-.dest 4 argb guint8
-.source 1 y guint8
-.source 1 u1 guint8
-.source 1 u2 guint8
-.source 1 v1 guint8
-.source 1 v2 guint8
-.temp 2 t1
-.temp 2 t2
-.temp 1 t3
-.temp 1 t4
-.temp 2 wy
-.temp 2 wu
-.temp 2 wv
-.temp 2 wr
-.temp 2 wg
-.temp 2 wb
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 4 x
-.const 1 c8 8
-.const 1 c128 128
-
-subb t3, y, c128
-convsbw wy, t3
-loadupib t3, u1
-loadupib t4, u2
-avgub t3, t3, t4
-subb t3, t3, c128
-convsbw wu, t3
-loadupib t3, v1
-loadupib t4, v2
-avgub t3, t3, t4
-subb t3, t3, c128
-convsbw wv, t3
-
-mullw t1, wy, 42
-shrsw t1, t1, c8
-addssw wy, wy, t1
-
-addssw wr, wy, wv
-mullw t1, wv, 103
-shrsw t1, t1, c8
-subssw wr, wr, t1
-addssw wr, wr, wv
-
-addssw wb, wy, wu
-addssw wb, wb, wu
-mullw t1, wu, 4
-shrsw t1, t1, c8
-addssw wb, wb, t1
-
-mullw t1, wu, 100
-shrsw t1, t1, c8
-subssw wg, wy, t1
-mullw t1, wv, 104
-shrsw t1, t1, c8
-subssw wg, wg, t1
-subssw wg, wg, t1
-
-convssswb r, wr
-convssswb g, wg
-convssswb b, wb
-
-mergebw t1, b, g
-mergebw t2, r, 255
-mergewl x, t1, t2
-x4 addb argb, x, c128
-
-
-
-.function cogorc_getline_I420
-.dest 4 d guint8
-.source 1 y guint8
-.source 1 u guint8
-.source 1 v guint8
-.const 1 c255 255
-.temp 2 uv
-.temp 2 ay
-.temp 1 tu
-.temp 1 tv
-
-loadupdb tu, u
-loadupdb tv, v
-mergebw uv, tu, tv
-mergebw ay, c255, y
-mergewl d, ay, uv
-
-.function cogorc_getline_YUV9
-.dest 8 d guint8
-.source 2 y guint8
-.source 1 u guint8
-.source 1 v guint8
-.const 1 c255 255
-.temp 2 tuv
-.temp 4 ay
-.temp 4 uv
-.temp 1 tu
-.temp 1 tv
-
-loadupdb tu, u
-loadupdb tv, v
-mergebw tuv, tu, tv
-mergewl uv, tuv, tuv
-x2 mergebw ay, c255, y
-x2 mergewl d, ay, uv
-
-.function cogorc_getline_YUY2
-.dest 8 ayuv guint8
-.source 4 yuy2 guint8
-.const 2 c255 0xff
-.temp 2 yy
-.temp 2 uv
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitwb uv, yy, yuy2
-x2 mergebw ayay, c255, yy
-mergewl uvuv, uv, uv
-x2 mergewl ayuv, ayay, uvuv
-
-
-.function cogorc_getline_UYVY
-.dest 8 ayuv guint8
-.source 4 uyvy guint8
-.const 2 c255 0xff
-.temp 2 yy
-.temp 2 uv
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitwb yy, uv, uyvy
-x2 mergebw ayay, c255, yy
-mergewl uvuv, uv, uv
-x2 mergewl ayuv, ayay, uvuv
-
-
-.function cogorc_getline_YVYU
-.dest 8 ayuv guint8
-.source 4 uyvy guint8
-.const 2 c255 0xff
-.temp 2 yy
-.temp 2 uv
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitwb uv, yy, uyvy
-swapw uv, uv
-x2 mergebw ayay, c255, yy
-mergewl uvuv, uv, uv
-x2 mergewl ayuv, ayay, uvuv
-
-
-.function cogorc_getline_Y42B
-.dest 8 ayuv guint8
-.source 2 yy guint8
-.source 1 u guint8
-.source 1 v guint8
-.const 1 c255 255
-.temp 2 uv
-.temp 2 ay
-.temp 4 uvuv
-.temp 4 ayay
-
-mergebw uv, u, v
-x2 mergebw ayay, c255, yy
-mergewl uvuv, uv, uv
-x2 mergewl ayuv, ayay, uvuv
-
-
-.function cogorc_getline_Y444
-.dest 4 ayuv guint8
-.source 1 y guint8
-.source 1 u guint8
-.source 1 v guint8
-.const 1 c255 255
-.temp 2 uv
-.temp 2 ay
-
-mergebw uv, u, v
-mergebw ay, c255, y
-mergewl ayuv, ay, uv
-
-
-.function cogorc_getline_Y800
-.dest 4 ayuv guint8
-.source 1 y guint8
-.const 1 c255 255
-.const 2 c0x8080 0x8080
-.temp 2 ay
-
-mergebw ay, c255, y
-mergewl ayuv, ay, c0x8080
-
-.function cogorc_getline_Y16
-.dest 4 ayuv guint8
-.source 2 y guint8
-.const 1 c255 255
-.const 2 c0x8080 0x8080
-.temp 2 ay
-.temp 1 yb
-
-convhwb yb, y
-mergebw ay, c255, yb
-mergewl ayuv, ay, c0x8080
-
-.function cogorc_getline_BGRA
-.dest 4 argb guint8
-.source 4 bgra guint8
-
-swapl argb, bgra
-
-
-.function cogorc_getline_ABGR
-.dest 4 argb guint8
-.source 4 abgr guint8
-.temp 1 a
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 2 gr
-.temp 2 ab
-.temp 2 ar
-.temp 2 gb
-
-splitlw gr, ab, abgr
-splitwb r, g, gr
-splitwb b, a, ab
-mergebw ar, a, r
-mergebw gb, g, b
-mergewl argb, ar, gb
-
-
-.function cogorc_getline_RGBA
-.dest 4 argb guint8
-.source 4 rgba guint8
-.temp 1 a
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 2 rg
-.temp 2 ba
-.temp 2 ar
-.temp 2 gb
-
-splitlw ba, rg, rgba
-splitwb g, r, rg
-splitwb a, b, ba
-mergebw ar, a, r
-mergebw gb, g, b
-mergewl argb, ar, gb
-
-
-.function cogorc_getline_NV12
-.dest 8 d guint8
-.source 2 y guint8
-.source 2 uv guint8
-.const 1 c255 255
-.temp 4 ay
-.temp 4 uvuv
-
-mergewl uvuv, uv, uv
-x2 mergebw ay, c255, y
-x2 mergewl d, ay, uvuv
-
-
-.function cogorc_getline_NV21
-.dest 8 d guint8
-.source 2 y guint8
-.source 2 vu guint8
-.const 1 c255 255
-.temp 2 uv
-.temp 4 ay
-.temp 4 uvuv
-
-swapw uv, vu
-mergewl uvuv, uv, uv
-x2 mergebw ay, c255, y
-x2 mergewl d, ay, uvuv
-
-.function cogorc_getline_A420
-.dest 4 d guint8
-.source 1 y guint8
-.source 1 u guint8
-.source 1 v guint8
-.source 1 a guint8
-.temp 2 uv
-.temp 2 ay
-.temp 1 tu
-.temp 1 tv
-
-loadupdb tu, u
-loadupdb tv, v
-mergebw uv, tu, tv
-mergebw ay, a, y
-mergewl d, ay, uv
-
-.function cogorc_putline_I420
-.dest 2 y guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.source 8 ayuv guint8
-.temp 4 ay
-.temp 4 uv
-.temp 2 uu
-.temp 2 vv
-.temp 1 t1
-.temp 1 t2
-
-x2 splitlw uv, ay, ayuv
-x2 select1wb y, ay
-x2 splitwb vv, uu, uv
-splitwb t1, t2, uu
-avgub u, t1, t2
-splitwb t1, t2, vv
-avgub v, t1, t2
-
-
-
-.function cogorc_putline_YUY2
-.dest 4 yuy2 guint8
-.source 8 ayuv guint8
-.temp 2 yy
-.temp 2 uv1
-.temp 2 uv2
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitlw uvuv, ayay, ayuv
-splitlw uv1, uv2, uvuv
-x2 avgub uv1, uv1, uv2
-x2 select1wb yy, ayay
-x2 mergebw yuy2, yy, uv1
-
-
-.function cogorc_putline_YVYU
-.dest 4 yuy2 guint8
-.source 8 ayuv guint8
-.temp 2 yy
-.temp 2 uv1
-.temp 2 uv2
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitlw uvuv, ayay, ayuv
-splitlw uv1, uv2, uvuv
-x2 avgub uv1, uv1, uv2
-x2 select1wb yy, ayay
-swapw uv1, uv1
-x2 mergebw yuy2, yy, uv1
-
-
-.function cogorc_putline_UYVY
-.dest 4 yuy2 guint8
-.source 8 ayuv guint8
-.temp 2 yy
-.temp 2 uv1
-.temp 2 uv2
-.temp 4 ayay
-.temp 4 uvuv
-
-x2 splitlw uvuv, ayay, ayuv
-splitlw uv1, uv2, uvuv
-x2 avgub uv1, uv1, uv2
-x2 select1wb yy, ayay
-x2 mergebw yuy2, uv1, yy
-
-
-
-.function cogorc_putline_Y42B
-.dest 2 y guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.source 8 ayuv guint8
-.temp 4 ayay
-.temp 4 uvuv
-.temp 2 uv1
-.temp 2 uv2
-
-x2 splitlw uvuv, ayay, ayuv
-splitlw uv1, uv2, uvuv
-x2 avgub uv1, uv1, uv2
-splitwb v, u, uv1
-x2 select1wb y, ayay
-
-
-.function cogorc_putline_Y444
-.dest 1 y guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.source 4 ayuv guint8
-.temp 2 ay
-.temp 2 uv
-
-splitlw uv, ay, ayuv
-splitwb v, u, uv
-select1wb y, ay
-
-
-.function cogorc_putline_Y800
-.dest 1 y guint8
-.source 4 ayuv guint8
-.temp 2 ay
-
-select0lw ay, ayuv
-select1wb y, ay
-
-.function cogorc_putline_Y16
-.dest 2 y guint8
-.source 4 ayuv guint8
-.temp 2 ay
-.temp 1 yb
-
-select0lw ay, ayuv
-select1wb yb, ay
-convubw ay, yb
-shlw y, ay, 8
-
-.function cogorc_putline_BGRA
-.dest 4 bgra guint8
-.source 4 argb guint8
-
-swapl bgra, argb
-
-
-.function cogorc_putline_ABGR
-.dest 4 abgr guint8
-.source 4 argb guint8
-.temp 1 a
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 2 gr
-.temp 2 ab
-.temp 2 ar
-.temp 2 gb
-
-splitlw gb, ar, argb
-splitwb b, g, gb
-splitwb r, a, ar
-mergebw ab, a, b
-mergebw gr, g, r
-mergewl abgr, ab, gr
-
-
-.function cogorc_putline_RGBA
-.dest 4 rgba guint8
-.source 4 argb guint8
-.temp 1 a
-.temp 1 r
-.temp 1 g
-.temp 1 b
-.temp 2 rg
-.temp 2 ba
-.temp 2 ar
-.temp 2 gb
-
-splitlw gb, ar, argb
-splitwb b, g, gb
-splitwb r, a, ar
-mergebw ba, b, a
-mergebw rg, r, g
-mergewl rgba, rg, ba
-
-
-.function cogorc_putline_NV12
-.dest 2 y guint8
-.dest 2 uv guint8
-.source 8 ayuv guint8
-.temp 4 ay
-.temp 4 uvuv
-.temp 2 uv1
-.temp 2 uv2
-
-x2 splitlw uvuv, ay, ayuv
-x2 select1wb y, ay
-splitlw uv1, uv2, uvuv
-x2 avgub uv, uv1, uv2
-
-
-.function cogorc_putline_NV21
-.dest 2 y guint8
-.dest 2 vu guint8
-.source 8 ayuv guint8
-.temp 4 ay
-.temp 4 uvuv
-.temp 2 uv1
-.temp 2 uv2
-.temp 2 uv
-
-x2 splitlw uvuv, ay, ayuv
-x2 select1wb y, ay
-splitlw uv1, uv2, uvuv
-x2 avgub uv, uv1, uv2
-swapw vu, uv
-
-.function cogorc_putline_A420
-.dest 2 y guint8
-.dest 1 u guint8
-.dest 1 v guint8
-.dest 2 a guint8
-.source 8 ayuv guint8
-.temp 4 ay
-.temp 4 uv
-.temp 2 uu
-.temp 2 vv
-.temp 1 t1
-.temp 1 t2
-
-x2 splitlw uv, ay, ayuv
-x2 select1wb y, ay
-x2 select0wb a, ay
-x2 splitwb vv, uu, uv
-splitwb t1, t2, uu
-avgub u, t1, t2
-splitwb t1, t2, vv
-avgub v, t1, t2
index 7f8a0593965fcc34027e1eb6def6bb3d51e9aadd..21b2e0d6cc310addcf989de86d964dfd1b68dcd7 100644 (file)
@@ -1596,7 +1596,7 @@ gst_field_analysis_process_buffer (GstFieldAnalysis * filter,
                 && telecine_matches & FIELD_ANALYSIS_BOTTOM_TOP)) {
           /* held is opposite to matched => need both field from prev */
           /* if t_b, hold bottom from prev and top from current, else vice-versa */
-          res1->holding = 1 + ! !(telecine_matches & FIELD_ANALYSIS_TOP_BOTTOM);
+          res1->holding = 1 + !!(telecine_matches & FIELD_ANALYSIS_TOP_BOTTOM);
           res0->holding = 1 + !(telecine_matches & FIELD_ANALYSIS_TOP_BOTTOM);
           /* push prev TCM */
           outbuf =
index 3a0e4d48dd0c6e49e312ec8ef43b2385d06765bf..fc69a49c486eeb60ea1cd63506533d73c5411c10 100644 (file)
@@ -483,7 +483,7 @@ add_id3v2frame_tag (GstId3v2Tag * id3v2tag, const GstTagList * list,
     GstBuffer *buf;
 
     val = gst_tag_list_get_value_index (list, tag, i);
-    buf = (GstBuffer *) gst_value_get_mini_object (val);
+    buf = gst_value_get_buffer (val);
 
     if (buf && GST_BUFFER_CAPS (buf)) {
       GstStructure *s;
@@ -693,7 +693,7 @@ add_image_tag (GstId3v2Tag * id3v2tag, const GstTagList * list,
     GST_DEBUG ("image %u/%u", n + 1, num_tags);
 
     val = gst_tag_list_get_value_index (list, tag, n);
-    image = (GstBuffer *) gst_value_get_mini_object (val);
+    image = gst_value_get_buffer (val);
 
     if (GST_IS_BUFFER (image) && GST_BUFFER_SIZE (image) > 0 &&
         GST_BUFFER_CAPS (image) != NULL &&
index 6fb28788e70f9d92bd991c313574d87d97a40232..cbff65414075743f370354bda38fb1f4897ecec3 100644 (file)
@@ -413,8 +413,8 @@ init_packet_iterator (GstJP2kDecimator * self, PacketIterator * it,
   it->n_layers = (tile->cod) ? tile->cod->n_layers : header->cod.n_layers;
   it->n_resolutions =
       1 +
-      ((tile->cod) ? tile->cod->n_decompositions : header->
-      cod.n_decompositions);
+      ((tile->cod) ? tile->cod->n_decompositions : header->cod.
+      n_decompositions);
   it->n_components = header->siz.n_components;
 
   it->tx0 = tile->tx0;
@@ -457,8 +457,8 @@ init_packet_iterator (GstJP2kDecimator * self, PacketIterator * it,
   }
 
   order =
-      (tile->cod) ? tile->cod->progression_order : header->
-      cod.progression_order;
+      (tile->cod) ? tile->cod->progression_order : header->cod.
+      progression_order;
   if (order == PROGRESSION_ORDER_LRCP) {
     it->next = packet_iterator_next_lrcp;
   } else if (order == PROGRESSION_ORDER_RLCP) {
@@ -574,8 +574,8 @@ parse_cod (GstJP2kDecimator * self, GstByteReader * reader,
   }
 
   Scod = gst_byte_reader_get_uint8_unchecked (reader);
-  cod->sop = ! !(Scod & 0x02);
-  cod->eph = ! !(Scod & 0x04);
+  cod->sop = !!(Scod & 0x02);
+  cod->eph = !!(Scod & 0x04);
 
   /* SGcod */
   cod->progression_order = gst_byte_reader_get_uint8_unchecked (reader);
@@ -642,8 +642,8 @@ write_cod (GstJP2kDecimator * self, GstByteWriter * writer,
 
   /* Scod */
   tmp =
-      (cod->PPx ? 0x01 : 0x00) | (cod->
-      sop ? 0x02 : 0x00) | (cod->eph ? 0x04 : 0x00);
+      (cod->PPx ? 0x01 : 0x00) | (cod->sop ? 0x02 : 0x00) | (cod->
+      eph ? 0x04 : 0x00);
   gst_byte_writer_put_uint8_unchecked (writer, tmp);
 
   /* SGcod */
index d8862d75b64946e27c8688973129b9f0568d40b2..b9217ba6ef9b6e8782bcc87f814331ec55f0554d 100644 (file)
@@ -540,7 +540,7 @@ G_DEFINE_TYPE (MXFMetadataAES3AudioEssenceDescriptor,
     MXF_TYPE_METADATA_WAVE_AUDIO_ESSENCE_DESCRIPTOR);
 
 static void
-mxf_metadata_aes3_audio_essence_descriptor_finalize (GstMiniObject * object)
+mxf_metadata_aes3_audio_essence_descriptor_finalize (GObject * object)
 {
   MXFMetadataAES3AudioEssenceDescriptor *self =
       MXF_METADATA_AES3_AUDIO_ESSENCE_DESCRIPTOR (object);
@@ -554,7 +554,7 @@ mxf_metadata_aes3_audio_essence_descriptor_finalize (GstMiniObject * object)
   g_free (self->fixed_user_data);
   self->fixed_user_data = NULL;
 
-  GST_MINI_OBJECT_CLASS
+  G_OBJECT_CLASS
       (mxf_metadata_aes3_audio_essence_descriptor_parent_class)->finalize
       (object);
 }
@@ -1058,11 +1058,10 @@ static void
     (MXFMetadataAES3AudioEssenceDescriptorClass * klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataClass *metadata_class = (MXFMetadataClass *) klass;
 
-  miniobject_class->finalize =
-      mxf_metadata_aes3_audio_essence_descriptor_finalize;
+  object_class->finalize = mxf_metadata_aes3_audio_essence_descriptor_finalize;
   metadata_base_class->handle_tag =
       mxf_metadata_aes3_audio_essence_descriptor_handle_tag;
   metadata_base_class->name_quark = MXF_QUARK (AES3_AUDIO_ESSENCE_DESCRIPTOR);
@@ -1353,24 +1352,24 @@ mxf_aes_bwf_create_caps (MXFMetadataTimelineTrack * track, GstTagList ** tags,
     if (!track->parent.descriptor[i])
       continue;
 
-    if (MXF_IS_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR (track->
-            parent.descriptor[i])
+    if (MXF_IS_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR (track->parent.
+            descriptor[i])
         && (track->parent.descriptor[i]->essence_container.u[14] == 0x01
             || track->parent.descriptor[i]->essence_container.u[14] == 0x02
             || track->parent.descriptor[i]->essence_container.u[14] == 0x08)) {
-      s = (MXFMetadataGenericSoundEssenceDescriptor *) track->
-          parent.descriptor[i];
+      s = (MXFMetadataGenericSoundEssenceDescriptor *) track->parent.
+          descriptor[i];
       bwf = TRUE;
       break;
     } else
-        if (MXF_IS_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR (track->
-            parent.descriptor[i])
+        if (MXF_IS_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR (track->parent.
+            descriptor[i])
         && (track->parent.descriptor[i]->essence_container.u[14] == 0x03
             || track->parent.descriptor[i]->essence_container.u[14] == 0x04
             || track->parent.descriptor[i]->essence_container.u[14] == 0x09)) {
 
-      s = (MXFMetadataGenericSoundEssenceDescriptor *) track->
-          parent.descriptor[i];
+      s = (MXFMetadataGenericSoundEssenceDescriptor *) track->parent.
+          descriptor[i];
       bwf = FALSE;
       break;
     }
@@ -1461,7 +1460,7 @@ mxf_bwf_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
   }
 
   ret = (MXFMetadataWaveAudioEssenceDescriptor *)
-      gst_mini_object_new (MXF_TYPE_METADATA_WAVE_AUDIO_ESSENCE_DESCRIPTOR);
+      g_object_new (MXF_TYPE_METADATA_WAVE_AUDIO_ESSENCE_DESCRIPTOR, NULL);
 
   memcpy (&ret->parent.parent.essence_container, &bwf_essence_container_ul, 16);
   if (endianness == G_LITTLE_ENDIAN)
@@ -1477,7 +1476,7 @@ mxf_bwf_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
 
   if (!mxf_metadata_generic_sound_essence_descriptor_from_caps (&ret->parent,
           caps)) {
-    gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+    g_object_unref (ret);
     return NULL;
   }
 
index a711628410aadfd316d3a3e4f08b807bca3ca00e..49b37237b4a4377e121bb1073543886dd5bd6322 100644 (file)
@@ -210,14 +210,14 @@ mxf_alaw_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
   }
 
   ret = (MXFMetadataGenericSoundEssenceDescriptor *)
-      gst_mini_object_new (MXF_TYPE_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR);
+      g_object_new (MXF_TYPE_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR, NULL);
 
   memcpy (&ret->parent.essence_container, &alaw_essence_container_ul, 16);
   memcpy (&ret->sound_essence_compression, &mxf_sound_essence_compression_alaw,
       16);
 
   if (!mxf_metadata_generic_sound_essence_descriptor_from_caps (ret, caps)) {
-    gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+    g_object_unref (ret);
     return NULL;
   }
 
index a4fde1f80267da7aac40cde1b4acf3c72e8b5e84..496ee38f7e8129182f4f135ba98e0929635df18a 100644 (file)
@@ -611,11 +611,11 @@ gst_mxf_demux_choose_package (GstMXFDemux * demux)
 
   for (i = 0; i < demux->preface->content_storage->n_packages; i++) {
     if (demux->preface->content_storage->packages[i] &&
-        MXF_IS_METADATA_MATERIAL_PACKAGE (demux->preface->content_storage->
-            packages[i])) {
+        MXF_IS_METADATA_MATERIAL_PACKAGE (demux->preface->
+            content_storage->packages[i])) {
       ret =
-          MXF_METADATA_GENERIC_PACKAGE (demux->preface->content_storage->
-          packages[i]);
+          MXF_METADATA_GENERIC_PACKAGE (demux->preface->
+          content_storage->packages[i]);
       break;
     }
   }
@@ -775,8 +775,8 @@ gst_mxf_demux_update_essence_tracks (GstMXFDemux * demux)
             essence_container);
 
         if (track->parent.type == MXF_METADATA_TRACK_PICTURE_ESSENCE) {
-          if (MXF_IS_METADATA_GENERIC_PICTURE_ESSENCE_DESCRIPTOR (track->parent.
-                  descriptor[0]))
+          if (MXF_IS_METADATA_GENERIC_PICTURE_ESSENCE_DESCRIPTOR (track->
+                  parent.descriptor[0]))
             mxf_ul_to_string (&MXF_METADATA_GENERIC_PICTURE_ESSENCE_DESCRIPTOR
                 (track->parent.descriptor[0])->picture_essence_coding,
                 essence_compression);
@@ -785,8 +785,8 @@ gst_mxf_demux_update_essence_tracks (GstMXFDemux * demux)
               g_strdup_printf ("video/x-mxf-%s-%s", essence_container,
               essence_compression);
         } else if (track->parent.type == MXF_METADATA_TRACK_SOUND_ESSENCE) {
-          if (MXF_IS_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR (track->parent.
-                  descriptor[0]))
+          if (MXF_IS_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR (track->
+                  parent.descriptor[0]))
             mxf_ul_to_string (&MXF_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR
                 (track->parent.descriptor[0])->sound_essence_compression,
                 essence_compression);
@@ -795,8 +795,8 @@ gst_mxf_demux_update_essence_tracks (GstMXFDemux * demux)
               g_strdup_printf ("audio/x-mxf-%s-%s", essence_container,
               essence_compression);
         } else if (track->parent.type == MXF_METADATA_TRACK_DATA_ESSENCE) {
-          if (MXF_IS_METADATA_GENERIC_DATA_ESSENCE_DESCRIPTOR (track->parent.
-                  descriptor[0]))
+          if (MXF_IS_METADATA_GENERIC_DATA_ESSENCE_DESCRIPTOR (track->
+                  parent.descriptor[0]))
             mxf_ul_to_string (&MXF_METADATA_GENERIC_DATA_ESSENCE_DESCRIPTOR
                 (track->parent.descriptor[0])->data_essence_coding,
                 essence_compression);
@@ -1261,7 +1261,7 @@ gst_mxf_demux_handle_metadata (GstMXFDemux * demux, const MXFUL * key,
         mxf_uuid_to_string (&MXF_METADATA_BASE (metadata)->instance_uid, str),
         g_type_name (G_TYPE_FROM_INSTANCE (old)),
         g_type_name (G_TYPE_FROM_INSTANCE (metadata)));
-    gst_mini_object_unref (GST_MINI_OBJECT (metadata));
+    g_object_unref (metadata);
     return GST_FLOW_ERROR;
   } else if (old
       && MXF_METADATA_BASE (old)->offset >=
@@ -1273,7 +1273,7 @@ gst_mxf_demux_handle_metadata (GstMXFDemux * demux, const MXFUL * key,
     GST_DEBUG_OBJECT (demux,
         "Metadata with instance uid %s already exists and is newer",
         mxf_uuid_to_string (&MXF_METADATA_BASE (metadata)->instance_uid, str));
-    gst_mini_object_unref (GST_MINI_OBJECT (metadata));
+    g_object_unref (metadata);
     return GST_FLOW_OK;
   }
 
@@ -1351,7 +1351,7 @@ gst_mxf_demux_handle_descriptive_metadata (GstMXFDemux * demux,
         mxf_uuid_to_string (&MXF_METADATA_BASE (m)->instance_uid, str),
         g_type_name (G_TYPE_FROM_INSTANCE (old)),
         g_type_name (G_TYPE_FROM_INSTANCE (m)));
-    gst_mini_object_unref (GST_MINI_OBJECT (m));
+    g_object_unref (m);
     return GST_FLOW_ERROR;
   } else if (old
       && MXF_METADATA_BASE (old)->offset >= MXF_METADATA_BASE (m)->offset) {
@@ -1362,7 +1362,7 @@ gst_mxf_demux_handle_descriptive_metadata (GstMXFDemux * demux,
     GST_DEBUG_OBJECT (demux,
         "Metadata with instance uid %s already exists and is newer",
         mxf_uuid_to_string (&MXF_METADATA_BASE (m)->instance_uid, str));
-    gst_mini_object_unref (GST_MINI_OBJECT (m));
+    g_object_unref (m);
     return GST_FLOW_OK;
   }
 
@@ -1421,8 +1421,8 @@ gst_mxf_demux_pad_set_component (GstMXFDemux * demux, GstMXFDemuxPad * pad,
       pad->current_component_index);
 
   pad->current_component =
-      MXF_METADATA_SOURCE_CLIP (sequence->structural_components[pad->
-          current_component_index]);
+      MXF_METADATA_SOURCE_CLIP (sequence->
+      structural_components[pad->current_component_index]);
   if (pad->current_component == NULL) {
     GST_ERROR_OBJECT (demux, "No such structural component");
     return GST_FLOW_ERROR;
@@ -1430,8 +1430,8 @@ gst_mxf_demux_pad_set_component (GstMXFDemux * demux, GstMXFDemuxPad * pad,
 
   if (!pad->current_component->source_package
       || !pad->current_component->source_package->top_level
-      || !MXF_METADATA_GENERIC_PACKAGE (pad->current_component->
-          source_package)->tracks) {
+      || !MXF_METADATA_GENERIC_PACKAGE (pad->
+          current_component->source_package)->tracks) {
     GST_ERROR_OBJECT (demux, "Invalid component");
     return GST_FLOW_ERROR;
   }
@@ -2998,8 +2998,8 @@ gst_mxf_demux_pad_set_last_stop (GstMXFDemux * demux, GstMXFDemuxPad * p,
   for (i = 0; i < p->material_track->parent.sequence->n_structural_components;
       i++) {
     clip =
-        MXF_METADATA_SOURCE_CLIP (p->material_track->parent.sequence->
-        structural_components[i]);
+        MXF_METADATA_SOURCE_CLIP (p->material_track->parent.
+        sequence->structural_components[i]);
 
     if (clip->parent.duration <= 0)
       break;
@@ -3077,8 +3077,8 @@ gst_mxf_demux_seek_push (GstMXFDemux * demux, GstEvent * event)
   if (format != GST_FORMAT_TIME)
     goto wrong_format;
 
-  flush = ! !(flags & GST_SEEK_FLAG_FLUSH);
-  keyframe = ! !(flags & GST_SEEK_FLAG_KEY_UNIT);
+  flush = !!(flags & GST_SEEK_FLAG_FLUSH);
+  keyframe = !!(flags & GST_SEEK_FLAG_KEY_UNIT);
 
   /* Work on a copy until we are sure the seek succeeded. */
   memcpy (&seeksegment, &demux->segment, sizeof (GstSegment));
@@ -3210,8 +3210,8 @@ gst_mxf_demux_seek_pull (GstMXFDemux * demux, GstEvent * event)
   if (rate <= 0.0)
     goto wrong_rate;
 
-  flush = ! !(flags & GST_SEEK_FLAG_FLUSH);
-  keyframe = ! !(flags & GST_SEEK_FLAG_KEY_UNIT);
+  flush = !!(flags & GST_SEEK_FLAG_FLUSH);
+  keyframe = !!(flags & GST_SEEK_FLAG_KEY_UNIT);
 
   if (flush) {
     GstEvent *e;
index 7de27b7d28a7860db1eb830db3b75b5f134d551e..c69e0e75ecd7c4d97911c977e300f15da12e19f0 100644 (file)
@@ -167,14 +167,14 @@ G_DEFINE_ABSTRACT_TYPE (MXFDMS1Thesaurus, mxf_dms1_thesaurus,
     MXF_TYPE_DMS1_TEXT_LANGUAGE);
 
 static void
-mxf_dms1_thesaurus_finalize (GstMiniObject * object)
+mxf_dms1_thesaurus_finalize (GObject * object)
 {
   MXFDMS1Thesaurus *self = MXF_DMS1_THESAURUS (object);
 
   g_free (self->thesaurus_name);
   self->thesaurus_name = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_thesaurus_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_thesaurus_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -215,10 +215,10 @@ mxf_dms1_thesaurus_init (MXFDMS1Thesaurus * self)
 static void
 mxf_dms1_thesaurus_class_init (MXFDMS1ThesaurusClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_thesaurus_finalize;
+  object_class->finalize = mxf_dms1_thesaurus_finalize;
   metadatabase_class->handle_tag = mxf_dms1_thesaurus_handle_tag;
 }
 
@@ -233,7 +233,7 @@ G_DEFINE_ABSTRACT_TYPE_WITH_CODE (MXFDMS1Framework, mxf_dms1_framework,
         mxf_dms1_framework_interface_init));
 
 static void
-mxf_dms1_framework_finalize (GstMiniObject * object)
+mxf_dms1_framework_finalize (GObject * object)
 {
   MXFDMS1Framework *self = MXF_DMS1_FRAMEWORK (object);
 
@@ -270,7 +270,7 @@ mxf_dms1_framework_finalize (GstMiniObject * object)
   g_free (self->location_sets);
   self->location_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_framework_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_framework_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -545,10 +545,10 @@ mxf_dms1_framework_init (MXFDMS1Framework * self)
 static void
 mxf_dms1_framework_class_init (MXFDMS1FrameworkClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_framework_finalize;
+  object_class->finalize = mxf_dms1_framework_finalize;
   metadatabase_class->handle_tag = mxf_dms1_framework_handle_tag;
   metadatabase_class->resolve = mxf_dms1_framework_resolve;
 }
@@ -557,7 +557,7 @@ G_DEFINE_ABSTRACT_TYPE (MXFDMS1ProductionClipFramework,
     mxf_dms1_production_clip_framework, MXF_TYPE_DMS1_FRAMEWORK);
 
 static void
-mxf_dms1_production_clip_framework_finalize (GstMiniObject * object)
+mxf_dms1_production_clip_framework_finalize (GObject * object)
 {
   MXFDMS1ProductionClipFramework *self =
       MXF_DMS1_PRODUCTION_CLIP_FRAMEWORK (object);
@@ -574,7 +574,7 @@ mxf_dms1_production_clip_framework_finalize (GstMiniObject * object)
   g_free (self->contract_sets);
   self->contract_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS
+  G_OBJECT_CLASS
       (mxf_dms1_production_clip_framework_parent_class)->finalize (object);
 }
 
@@ -737,10 +737,10 @@ static void
     mxf_dms1_production_clip_framework_class_init
     (MXFDMS1ProductionClipFrameworkClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_production_clip_framework_finalize;
+  object_class->finalize = mxf_dms1_production_clip_framework_finalize;
   metadatabase_class->handle_tag =
       mxf_dms1_production_clip_framework_handle_tag;
   metadatabase_class->resolve = mxf_dms1_production_clip_framework_resolve;
@@ -750,7 +750,7 @@ G_DEFINE_TYPE (MXFDMS1ProductionFramework, mxf_dms1_production_framework,
     MXF_TYPE_DMS1_PRODUCTION_CLIP_FRAMEWORK);
 
 static void
-mxf_dms1_production_framework_finalize (GstMiniObject * object)
+mxf_dms1_production_framework_finalize (GObject * object)
 {
   MXFDMS1ProductionFramework *self = MXF_DMS1_PRODUCTION_FRAMEWORK (object);
 
@@ -793,7 +793,7 @@ mxf_dms1_production_framework_finalize (GstMiniObject * object)
   g_free (self->setting_period_sets);
   self->setting_period_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_production_framework_parent_class)->finalize
+  G_OBJECT_CLASS (mxf_dms1_production_framework_parent_class)->finalize
       (object);
 }
 
@@ -1055,11 +1055,11 @@ static void
 mxf_dms1_production_framework_class_init (MXFDMS1ProductionFrameworkClass *
     klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_production_framework_finalize;
+  object_class->finalize = mxf_dms1_production_framework_finalize;
   metadatabase_class->handle_tag = mxf_dms1_production_framework_handle_tag;
   metadatabase_class->resolve = mxf_dms1_production_framework_resolve;
 
@@ -1070,7 +1070,7 @@ G_DEFINE_TYPE (MXFDMS1ClipFramework, mxf_dms1_clip_framework,
     MXF_TYPE_DMS1_PRODUCTION_CLIP_FRAMEWORK);
 
 static void
-mxf_dms1_clip_framework_finalize (GstMiniObject * object)
+mxf_dms1_clip_framework_finalize (GObject * object)
 {
   MXFDMS1ClipFramework *self = MXF_DMS1_CLIP_FRAMEWORK (object);
 
@@ -1098,8 +1098,7 @@ mxf_dms1_clip_framework_finalize (GstMiniObject * object)
   g_free (self->device_parameters_sets);
   self->device_parameters_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_clip_framework_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_dms1_clip_framework_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -1329,11 +1328,11 @@ mxf_dms1_clip_framework_init (MXFDMS1ClipFramework * self)
 static void
 mxf_dms1_clip_framework_class_init (MXFDMS1ClipFrameworkClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_clip_framework_finalize;
+  object_class->finalize = mxf_dms1_clip_framework_finalize;
   metadatabase_class->handle_tag = mxf_dms1_clip_framework_handle_tag;
   metadatabase_class->resolve = mxf_dms1_clip_framework_resolve;
   dm_class->type = 0x010200;
@@ -1343,7 +1342,7 @@ G_DEFINE_TYPE (MXFDMS1SceneFramework, mxf_dms1_scene_framework,
     MXF_TYPE_DMS1_FRAMEWORK);
 
 static void
-mxf_dms1_scene_framework_finalize (GstMiniObject * object)
+mxf_dms1_scene_framework_finalize (GObject * object)
 {
   MXFDMS1SceneFramework *self = MXF_DMS1_SCENE_FRAMEWORK (object);
 
@@ -1359,8 +1358,7 @@ mxf_dms1_scene_framework_finalize (GstMiniObject * object)
   g_free (self->shot_scene_sets);
   self->shot_scene_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_scene_framework_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_dms1_scene_framework_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -1492,11 +1490,11 @@ mxf_dms1_scene_framework_init (MXFDMS1SceneFramework * self)
 static void
 mxf_dms1_scene_framework_class_init (MXFDMS1SceneFrameworkClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_scene_framework_finalize;
+  object_class->finalize = mxf_dms1_scene_framework_finalize;
   metadatabase_class->handle_tag = mxf_dms1_scene_framework_handle_tag;
   metadatabase_class->resolve = mxf_dms1_scene_framework_resolve;
   dm_class->type = 0x010300;
@@ -1505,7 +1503,7 @@ mxf_dms1_scene_framework_class_init (MXFDMS1SceneFrameworkClass * klass)
 G_DEFINE_TYPE (MXFDMS1Titles, mxf_dms1_titles, MXF_TYPE_DMS1_TEXT_LANGUAGE);
 
 static void
-mxf_dms1_titles_finalize (GstMiniObject * object)
+mxf_dms1_titles_finalize (GObject * object)
 {
   MXFDMS1Titles *self = MXF_DMS1_TITLES (object);
 
@@ -1524,7 +1522,7 @@ mxf_dms1_titles_finalize (GstMiniObject * object)
   g_free (self->version_title);
   self->version_title = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_titles_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_titles_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -1592,11 +1590,11 @@ mxf_dms1_titles_init (MXFDMS1Titles * self)
 static void
 mxf_dms1_titles_class_init (MXFDMS1TitlesClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_titles_finalize;
+  object_class->finalize = mxf_dms1_titles_finalize;
   metadatabase_class->handle_tag = mxf_dms1_titles_handle_tag;
   dm_class->type = 0x100100;
 }
@@ -1605,7 +1603,7 @@ G_DEFINE_TYPE (MXFDMS1Identification, mxf_dms1_identification,
     MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_identification_finalize (GstMiniObject * object)
+mxf_dms1_identification_finalize (GObject * object)
 {
   MXFDMS1Identification *self = MXF_DMS1_IDENTIFICATION (object);
 
@@ -1615,8 +1613,7 @@ mxf_dms1_identification_finalize (GstMiniObject * object)
   g_free (self->identification_issuing_authority);
   self->identification_issuing_authority = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_identification_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_dms1_identification_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -1700,11 +1697,11 @@ mxf_dms1_identification_init (MXFDMS1Identification * self)
 static void
 mxf_dms1_identification_class_init (MXFDMS1IdentificationClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_identification_finalize;
+  object_class->finalize = mxf_dms1_identification_finalize;
   metadatabase_class->handle_tag = mxf_dms1_identification_handle_tag;
   dm_class->type = 0x110100;
 }
@@ -1713,7 +1710,7 @@ G_DEFINE_TYPE (MXFDMS1GroupRelationship, mxf_dms1_group_relationship,
     MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_group_relationship_finalize (GstMiniObject * object)
+mxf_dms1_group_relationship_finalize (GObject * object)
 {
   MXFDMS1GroupRelationship *self = MXF_DMS1_GROUP_RELATIONSHIP (object);
 
@@ -1726,8 +1723,7 @@ mxf_dms1_group_relationship_finalize (GstMiniObject * object)
   g_free (self->group_synopsis);
   self->group_synopsis = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_group_relationship_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_dms1_group_relationship_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -1834,11 +1830,11 @@ mxf_dms1_group_relationship_init (MXFDMS1GroupRelationship * self)
 static void
 mxf_dms1_group_relationship_class_init (MXFDMS1GroupRelationshipClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_group_relationship_finalize;
+  object_class->finalize = mxf_dms1_group_relationship_finalize;
   metadatabase_class->handle_tag = mxf_dms1_group_relationship_handle_tag;
   dm_class->type = 0x120100;
 }
@@ -1846,7 +1842,7 @@ mxf_dms1_group_relationship_class_init (MXFDMS1GroupRelationshipClass * klass)
 G_DEFINE_TYPE (MXFDMS1Branding, mxf_dms1_branding, MXF_TYPE_DMS1_TEXT_LANGUAGE);
 
 static void
-mxf_dms1_branding_finalize (GstMiniObject * object)
+mxf_dms1_branding_finalize (GObject * object)
 {
   MXFDMS1Branding *self = MXF_DMS1_BRANDING (object);
 
@@ -1856,7 +1852,7 @@ mxf_dms1_branding_finalize (GstMiniObject * object)
   g_free (self->brand_original_title);
   self->brand_original_title = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_branding_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_branding_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -1906,11 +1902,11 @@ mxf_dms1_branding_init (MXFDMS1Branding * self)
 static void
 mxf_dms1_branding_class_init (MXFDMS1BrandingClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_branding_finalize;
+  object_class->finalize = mxf_dms1_branding_finalize;
   metadatabase_class->handle_tag = mxf_dms1_branding_handle_tag;
   dm_class->type = 0x130100;
 }
@@ -1918,7 +1914,7 @@ mxf_dms1_branding_class_init (MXFDMS1BrandingClass * klass)
 G_DEFINE_TYPE (MXFDMS1Event, mxf_dms1_event, MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_event_finalize (GstMiniObject * object)
+mxf_dms1_event_finalize (GObject * object)
 {
   MXFDMS1Event *self = MXF_DMS1_EVENT (object);
 
@@ -1937,7 +1933,7 @@ mxf_dms1_event_finalize (GstMiniObject * object)
   g_free (self->annotation_sets);
   self->annotation_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_event_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_event_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -2083,11 +2079,11 @@ mxf_dms1_event_init (MXFDMS1Event * self)
 static void
 mxf_dms1_event_class_init (MXFDMS1EventClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_event_finalize;
+  object_class->finalize = mxf_dms1_event_finalize;
   metadatabase_class->handle_tag = mxf_dms1_event_handle_tag;
   metadatabase_class->resolve = mxf_dms1_event_resolve;
   dm_class->type = 0x140100;
@@ -2096,7 +2092,7 @@ mxf_dms1_event_class_init (MXFDMS1EventClass * klass)
 G_DEFINE_TYPE (MXFDMS1Publication, mxf_dms1_publication, MXF_TYPE_DMS1);
 
 static void
-mxf_dms1_publication_finalize (GstMiniObject * object)
+mxf_dms1_publication_finalize (GObject * object)
 {
   MXFDMS1Publication *self = MXF_DMS1_PUBLICATION (object);
 
@@ -2112,7 +2108,7 @@ mxf_dms1_publication_finalize (GstMiniObject * object)
   g_free (self->publication_region);
   self->publication_region = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_publication_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_publication_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -2179,11 +2175,11 @@ mxf_dms1_publication_init (MXFDMS1Publication * self)
 static void
 mxf_dms1_publication_class_init (MXFDMS1PublicationClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_publication_finalize;
+  object_class->finalize = mxf_dms1_publication_finalize;
   metadatabase_class->handle_tag = mxf_dms1_publication_handle_tag;
   dm_class->type = 0x140200;
 }
@@ -2191,7 +2187,7 @@ mxf_dms1_publication_class_init (MXFDMS1PublicationClass * klass)
 G_DEFINE_TYPE (MXFDMS1Award, mxf_dms1_award, MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_award_finalize (GstMiniObject * object)
+mxf_dms1_award_finalize (GObject * object)
 {
   MXFDMS1Award *self = MXF_DMS1_AWARD (object);
 
@@ -2213,7 +2209,7 @@ mxf_dms1_award_finalize (GstMiniObject * object)
   g_free (self->participant_sets);
   self->participant_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_award_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_award_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -2339,11 +2335,11 @@ mxf_dms1_award_init (MXFDMS1Award * self)
 static void
 mxf_dms1_award_class_init (MXFDMS1AwardClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_award_finalize;
+  object_class->finalize = mxf_dms1_award_finalize;
   metadatabase_class->handle_tag = mxf_dms1_award_handle_tag;
   metadatabase_class->resolve = mxf_dms1_award_resolve;
   dm_class->type = 0x150100;
@@ -2353,14 +2349,14 @@ G_DEFINE_TYPE (MXFDMS1CaptionsDescription, mxf_dms1_captions_description,
     MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_captions_description_finalize (GstMiniObject * object)
+mxf_dms1_captions_description_finalize (GObject * object)
 {
   MXFDMS1CaptionsDescription *self = MXF_DMS1_CAPTIONS_DESCRIPTION (object);
 
   g_free (self->caption_kind);
   self->caption_kind = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_captions_description_parent_class)->finalize
+  G_OBJECT_CLASS (mxf_dms1_captions_description_parent_class)->finalize
       (object);
 }
 
@@ -2422,11 +2418,11 @@ static void
 mxf_dms1_captions_description_class_init (MXFDMS1CaptionsDescriptionClass *
     klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_captions_description_finalize;
+  object_class->finalize = mxf_dms1_captions_description_finalize;
   metadatabase_class->handle_tag = mxf_dms1_captions_description_handle_tag;
   dm_class->type = 0x160100;
 }
@@ -2434,7 +2430,7 @@ mxf_dms1_captions_description_class_init (MXFDMS1CaptionsDescriptionClass *
 G_DEFINE_TYPE (MXFDMS1Annotation, mxf_dms1_annotation, MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_annotation_finalize (GstMiniObject * object)
+mxf_dms1_annotation_finalize (GObject * object)
 {
   MXFDMS1Annotation *self = MXF_DMS1_ANNOTATION (object);
 
@@ -2465,7 +2461,7 @@ mxf_dms1_annotation_finalize (GstMiniObject * object)
   g_free (self->participant_sets);
   self->participant_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_annotation_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_annotation_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -2652,11 +2648,11 @@ mxf_dms1_annotation_init (MXFDMS1Annotation * self)
 static void
 mxf_dms1_annotation_class_init (MXFDMS1AnnotationClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_annotation_finalize;
+  object_class->finalize = mxf_dms1_annotation_finalize;
   metadatabase_class->handle_tag = mxf_dms1_annotation_handle_tag;
   metadatabase_class->resolve = mxf_dms1_annotation_resolve;
   dm_class->type = 0x170100;
@@ -2666,7 +2662,7 @@ G_DEFINE_TYPE (MXFDMS1SettingPeriod, mxf_dms1_setting_period,
     MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_setting_period_finalize (GstMiniObject * object)
+mxf_dms1_setting_period_finalize (GObject * object)
 {
   MXFDMS1SettingPeriod *self = MXF_DMS1_SETTING_PERIOD (object);
 
@@ -2676,8 +2672,7 @@ mxf_dms1_setting_period_finalize (GstMiniObject * object)
   g_free (self->setting_period_description);
   self->setting_period_description = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_setting_period_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_dms1_setting_period_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -2748,11 +2743,11 @@ mxf_dms1_setting_period_init (MXFDMS1SettingPeriod * self)
 static void
 mxf_dms1_setting_period_class_init (MXFDMS1SettingPeriodClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_setting_period_finalize;
+  object_class->finalize = mxf_dms1_setting_period_finalize;
   metadatabase_class->handle_tag = mxf_dms1_setting_period_handle_tag;
   dm_class->type = 0x170200;
 }
@@ -2760,7 +2755,7 @@ mxf_dms1_setting_period_class_init (MXFDMS1SettingPeriodClass * klass)
 G_DEFINE_TYPE (MXFDMS1Scripting, mxf_dms1_scripting, MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_scripting_finalize (GstMiniObject * object)
+mxf_dms1_scripting_finalize (GObject * object)
 {
   MXFDMS1Scripting *self = MXF_DMS1_SCRIPTING (object);
 
@@ -2773,7 +2768,7 @@ mxf_dms1_scripting_finalize (GstMiniObject * object)
   g_free (self->scripting_locators);
   self->scripting_locators = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_scripting_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_scripting_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -2851,11 +2846,11 @@ mxf_dms1_scripting_init (MXFDMS1Scripting * self)
 static void
 mxf_dms1_scripting_class_init (MXFDMS1ScriptingClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_scripting_finalize;
+  object_class->finalize = mxf_dms1_scripting_finalize;
   metadatabase_class->handle_tag = mxf_dms1_scripting_handle_tag;
   dm_class->type = 0x170300;
 }
@@ -2864,7 +2859,7 @@ G_DEFINE_TYPE (MXFDMS1Classification, mxf_dms1_classification,
     MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_classification_finalize (GstMiniObject * object)
+mxf_dms1_classification_finalize (GObject * object)
 {
   MXFDMS1Classification *self = MXF_DMS1_CLASSIFICATION (object);
 
@@ -2874,8 +2869,7 @@ mxf_dms1_classification_finalize (GstMiniObject * object)
   g_free (self->name_value_sets);
   self->name_value_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_classification_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_dms1_classification_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -2974,11 +2968,11 @@ mxf_dms1_classification_init (MXFDMS1Classification * self)
 static void
 mxf_dms1_classification_class_init (MXFDMS1ClassificationClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_classification_finalize;
+  object_class->finalize = mxf_dms1_classification_finalize;
   metadatabase_class->handle_tag = mxf_dms1_classification_handle_tag;
   metadatabase_class->resolve = mxf_dms1_classification_resolve;
   dm_class->type = 0x170400;
@@ -2987,7 +2981,7 @@ mxf_dms1_classification_class_init (MXFDMS1ClassificationClass * klass)
 G_DEFINE_TYPE (MXFDMS1Shot, mxf_dms1_shot, MXF_TYPE_DMS1_TEXT_LANGUAGE);
 
 static void
-mxf_dms1_shot_finalize (GstMiniObject * object)
+mxf_dms1_shot_finalize (GObject * object)
 {
   MXFDMS1Shot *self = MXF_DMS1_SHOT (object);
 
@@ -3009,7 +3003,7 @@ mxf_dms1_shot_finalize (GstMiniObject * object)
   g_free (self->key_point_sets);
   self->key_point_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_shot_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_shot_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -3182,11 +3176,11 @@ mxf_dms1_shot_init (MXFDMS1Shot * self)
 static void
 mxf_dms1_shot_class_init (MXFDMS1ShotClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_shot_finalize;
+  object_class->finalize = mxf_dms1_shot_finalize;
   metadatabase_class->handle_tag = mxf_dms1_shot_handle_tag;
   metadatabase_class->resolve = mxf_dms1_shot_resolve;
   dm_class->type = 0x170500;
@@ -3195,7 +3189,7 @@ mxf_dms1_shot_class_init (MXFDMS1ShotClass * klass)
 G_DEFINE_TYPE (MXFDMS1KeyPoint, mxf_dms1_key_point, MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_key_point_finalize (GstMiniObject * object)
+mxf_dms1_key_point_finalize (GObject * object)
 {
   MXFDMS1KeyPoint *self = MXF_DMS1_KEY_POINT (object);
 
@@ -3205,7 +3199,7 @@ mxf_dms1_key_point_finalize (GstMiniObject * object)
   g_free (self->keypoint_value);
   self->keypoint_value = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_key_point_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_key_point_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -3271,11 +3265,11 @@ mxf_dms1_key_point_init (MXFDMS1KeyPoint * self)
 static void
 mxf_dms1_key_point_class_init (MXFDMS1KeyPointClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_key_point_finalize;
+  object_class->finalize = mxf_dms1_key_point_finalize;
   metadatabase_class->handle_tag = mxf_dms1_key_point_handle_tag;
   dm_class->type = 0x170600;
 }
@@ -3284,7 +3278,7 @@ G_DEFINE_TYPE (MXFDMS1Participant, mxf_dms1_participant,
     MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_participant_finalize (GstMiniObject * object)
+mxf_dms1_participant_finalize (GObject * object)
 {
   MXFDMS1Participant *self = MXF_DMS1_PARTICIPANT (object);
 
@@ -3309,7 +3303,7 @@ mxf_dms1_participant_finalize (GstMiniObject * object)
   g_free (self->organisation_sets);
   self->organisation_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_participant_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_participant_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -3471,11 +3465,11 @@ mxf_dms1_participant_init (MXFDMS1Participant * self)
 static void
 mxf_dms1_participant_class_init (MXFDMS1ParticipantClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_participant_finalize;
+  object_class->finalize = mxf_dms1_participant_finalize;
   metadatabase_class->handle_tag = mxf_dms1_participant_handle_tag;
   metadatabase_class->resolve = mxf_dms1_participant_resolve;
   dm_class->type = 0x180100;
@@ -3485,7 +3479,7 @@ G_DEFINE_ABSTRACT_TYPE (MXFDMS1Contact, mxf_dms1_contact,
     MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_contact_finalize (GstMiniObject * object)
+mxf_dms1_contact_finalize (GObject * object)
 {
   MXFDMS1Contact *self = MXF_DMS1_CONTACT (object);
 
@@ -3501,7 +3495,7 @@ mxf_dms1_contact_finalize (GstMiniObject * object)
   g_free (self->address_sets);
   self->address_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_contact_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_contact_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -3627,10 +3621,10 @@ mxf_dms1_contact_init (MXFDMS1Contact * self)
 static void
 mxf_dms1_contact_class_init (MXFDMS1ContactClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_contact_finalize;
+  object_class->finalize = mxf_dms1_contact_finalize;
   metadatabase_class->handle_tag = mxf_dms1_contact_handle_tag;
   metadatabase_class->resolve = mxf_dms1_contact_resolve;
 }
@@ -3638,7 +3632,7 @@ mxf_dms1_contact_class_init (MXFDMS1ContactClass * klass)
 G_DEFINE_TYPE (MXFDMS1Person, mxf_dms1_person, MXF_TYPE_DMS1_CONTACT);
 
 static void
-mxf_dms1_person_finalize (GstMiniObject * object)
+mxf_dms1_person_finalize (GObject * object)
 {
   MXFDMS1Person *self = MXF_DMS1_PERSON (object);
 
@@ -3684,7 +3678,7 @@ mxf_dms1_person_finalize (GstMiniObject * object)
   g_free (self->organisation_sets);
   self->organisation_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_person_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_person_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -3858,11 +3852,11 @@ mxf_dms1_person_init (MXFDMS1Person * self)
 static void
 mxf_dms1_person_class_init (MXFDMS1PersonClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_person_finalize;
+  object_class->finalize = mxf_dms1_person_finalize;
   metadatabase_class->handle_tag = mxf_dms1_person_handle_tag;
   metadatabase_class->resolve = mxf_dms1_person_resolve;
   dm_class->type = 0x1a0200;
@@ -3872,7 +3866,7 @@ G_DEFINE_TYPE (MXFDMS1Organisation, mxf_dms1_organisation,
     MXF_TYPE_DMS1_CONTACT);
 
 static void
-mxf_dms1_organisation_finalize (GstMiniObject * object)
+mxf_dms1_organisation_finalize (GObject * object)
 {
   MXFDMS1Organisation *self = MXF_DMS1_ORGANISATION (object);
 
@@ -3888,7 +3882,7 @@ mxf_dms1_organisation_finalize (GstMiniObject * object)
   g_free (self->contact_department);
   self->contact_department = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_organisation_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_organisation_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -3954,11 +3948,11 @@ mxf_dms1_organisation_init (MXFDMS1Organisation * self)
 static void
 mxf_dms1_organisation_class_init (MXFDMS1OrganisationClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_organisation_finalize;
+  object_class->finalize = mxf_dms1_organisation_finalize;
   metadatabase_class->handle_tag = mxf_dms1_organisation_handle_tag;
   dm_class->type = 0x1a0300;
 }
@@ -3966,7 +3960,7 @@ mxf_dms1_organisation_class_init (MXFDMS1OrganisationClass * klass)
 G_DEFINE_TYPE (MXFDMS1Location, mxf_dms1_location, MXF_TYPE_DMS1_CONTACT);
 
 static void
-mxf_dms1_location_finalize (GstMiniObject * object)
+mxf_dms1_location_finalize (GObject * object)
 {
   MXFDMS1Location *self = MXF_DMS1_LOCATION (object);
 
@@ -3976,7 +3970,7 @@ mxf_dms1_location_finalize (GstMiniObject * object)
   g_free (self->location_description);
   self->location_description = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_location_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_location_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -4025,11 +4019,11 @@ mxf_dms1_location_init (MXFDMS1Location * self)
 static void
 mxf_dms1_location_class_init (MXFDMS1LocationClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_location_finalize;
+  object_class->finalize = mxf_dms1_location_finalize;
   metadatabase_class->handle_tag = mxf_dms1_location_handle_tag;
   dm_class->type = 0x1a0400;
 }
@@ -4037,7 +4031,7 @@ mxf_dms1_location_class_init (MXFDMS1LocationClass * klass)
 G_DEFINE_TYPE (MXFDMS1Address, mxf_dms1_address, MXF_TYPE_DMS1);
 
 static void
-mxf_dms1_address_finalize (GstMiniObject * object)
+mxf_dms1_address_finalize (GObject * object)
 {
   MXFDMS1Address *self = MXF_DMS1_ADDRESS (object);
 
@@ -4086,7 +4080,7 @@ mxf_dms1_address_finalize (GstMiniObject * object)
   g_free (self->name_value_sets);
   self->name_value_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_address_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_address_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -4303,11 +4297,11 @@ mxf_dms1_address_init (MXFDMS1Address * self)
 static void
 mxf_dms1_address_class_init (MXFDMS1AddressClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_address_finalize;
+  object_class->finalize = mxf_dms1_address_finalize;
   metadatabase_class->handle_tag = mxf_dms1_address_handle_tag;
   metadatabase_class->resolve = mxf_dms1_address_resolve;
   dm_class->type = 0x1b0100;
@@ -4316,7 +4310,7 @@ mxf_dms1_address_class_init (MXFDMS1AddressClass * klass)
 G_DEFINE_TYPE (MXFDMS1Communications, mxf_dms1_communications, MXF_TYPE_DMS1);
 
 static void
-mxf_dms1_communications_finalize (GstMiniObject * object)
+mxf_dms1_communications_finalize (GObject * object)
 {
   MXFDMS1Communications *self = MXF_DMS1_COMMUNICATIONS (object);
 
@@ -4326,8 +4320,7 @@ mxf_dms1_communications_finalize (GstMiniObject * object)
   g_free (self->web_page);
   self->web_page = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_communications_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_dms1_communications_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -4424,11 +4417,11 @@ mxf_dms1_communications_init (MXFDMS1Communications * self)
 static void
 mxf_dms1_communications_class_init (MXFDMS1CommunicationsClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_communications_finalize;
+  object_class->finalize = mxf_dms1_communications_finalize;
   metadatabase_class->handle_tag = mxf_dms1_communications_handle_tag;
   dm_class->type = 0x1b0200;
 }
@@ -4436,7 +4429,7 @@ mxf_dms1_communications_class_init (MXFDMS1CommunicationsClass * klass)
 G_DEFINE_TYPE (MXFDMS1Contract, mxf_dms1_contract, MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_contract_finalize (GstMiniObject * object)
+mxf_dms1_contract_finalize (GObject * object)
 {
   MXFDMS1Contract *self = MXF_DMS1_CONTRACT (object);
 
@@ -4452,7 +4445,7 @@ mxf_dms1_contract_finalize (GstMiniObject * object)
   g_free (self->participant_sets);
   self->participant_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_contract_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_contract_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -4579,11 +4572,11 @@ mxf_dms1_contract_init (MXFDMS1Contract * self)
 static void
 mxf_dms1_contract_class_init (MXFDMS1ContractClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_contract_finalize;
+  object_class->finalize = mxf_dms1_contract_finalize;
   metadatabase_class->handle_tag = mxf_dms1_contract_handle_tag;
   metadatabase_class->resolve = mxf_dms1_contract_resolve;
   dm_class->type = 0x1c0100;
@@ -4592,7 +4585,7 @@ mxf_dms1_contract_class_init (MXFDMS1ContractClass * klass)
 G_DEFINE_TYPE (MXFDMS1Rights, mxf_dms1_rights, MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_rights_finalize (GstMiniObject * object)
+mxf_dms1_rights_finalize (GObject * object)
 {
   MXFDMS1Rights *self = MXF_DMS1_RIGHTS (object);
 
@@ -4620,7 +4613,7 @@ mxf_dms1_rights_finalize (GstMiniObject * object)
   g_free (self->intellectual_property_right);
   self->intellectual_property_right = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_rights_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_rights_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -4755,11 +4748,11 @@ mxf_dms1_rights_init (MXFDMS1Rights * self)
 static void
 mxf_dms1_rights_class_init (MXFDMS1RightsClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_rights_finalize;
+  object_class->finalize = mxf_dms1_rights_finalize;
   metadatabase_class->handle_tag = mxf_dms1_rights_handle_tag;
   dm_class->type = 0x1c0200;
 }
@@ -4767,15 +4760,14 @@ mxf_dms1_rights_class_init (MXFDMS1RightsClass * klass)
 G_DEFINE_TYPE (MXFDMS1PictureFormat, mxf_dms1_picture_format, MXF_TYPE_DMS1);
 
 static void
-mxf_dms1_picture_format_finalize (GstMiniObject * object)
+mxf_dms1_picture_format_finalize (GObject * object)
 {
   MXFDMS1PictureFormat *self = MXF_DMS1_PICTURE_FORMAT (object);
 
   g_free (self->colour_descriptor);
   self->colour_descriptor = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_picture_format_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_dms1_picture_format_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -4846,11 +4838,11 @@ mxf_dms1_picture_format_init (MXFDMS1PictureFormat * self)
 static void
 mxf_dms1_picture_format_class_init (MXFDMS1PictureFormatClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_picture_format_finalize;
+  object_class->finalize = mxf_dms1_picture_format_finalize;
   metadatabase_class->handle_tag = mxf_dms1_picture_format_handle_tag;
   dm_class->type = 0x1d0100;
 }
@@ -4859,7 +4851,7 @@ G_DEFINE_TYPE (MXFDMS1DeviceParameters, mxf_dms1_device_parameters,
     MXF_TYPE_DMS1_THESAURUS);
 
 static void
-mxf_dms1_device_parameters_finalize (GstMiniObject * object)
+mxf_dms1_device_parameters_finalize (GObject * object)
 {
   MXFDMS1DeviceParameters *self = MXF_DMS1_DEVICE_PARAMETERS (object);
 
@@ -4884,8 +4876,7 @@ mxf_dms1_device_parameters_finalize (GstMiniObject * object)
   g_free (self->name_value_sets);
   self->name_value_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_device_parameters_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_dms1_device_parameters_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -5050,11 +5041,11 @@ mxf_dms1_device_parameters_init (MXFDMS1DeviceParameters * self)
 static void
 mxf_dms1_device_parameters_class_init (MXFDMS1DeviceParametersClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_device_parameters_finalize;
+  object_class->finalize = mxf_dms1_device_parameters_finalize;
   metadatabase_class->handle_tag = mxf_dms1_device_parameters_handle_tag;
   metadatabase_class->resolve = mxf_dms1_device_parameters_resolve;
   dm_class->type = 0x1e0100;
@@ -5063,7 +5054,7 @@ mxf_dms1_device_parameters_class_init (MXFDMS1DeviceParametersClass * klass)
 G_DEFINE_TYPE (MXFDMS1NameValue, mxf_dms1_name_value, MXF_TYPE_DMS1);
 
 static void
-mxf_dms1_name_value_finalize (GstMiniObject * object)
+mxf_dms1_name_value_finalize (GObject * object)
 {
   MXFDMS1NameValue *self = MXF_DMS1_NAME_VALUE (object);
 
@@ -5073,7 +5064,7 @@ mxf_dms1_name_value_finalize (GstMiniObject * object)
   g_free (self->item_value);
   self->item_value = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_name_value_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_name_value_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -5142,11 +5133,11 @@ mxf_dms1_name_value_init (MXFDMS1NameValue * self)
 static void
 mxf_dms1_name_value_class_init (MXFDMS1NameValueClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_name_value_finalize;
+  object_class->finalize = mxf_dms1_name_value_finalize;
   metadatabase_class->handle_tag = mxf_dms1_name_value_handle_tag;
   dm_class->type = 0x1f0100;
 }
@@ -5154,7 +5145,7 @@ mxf_dms1_name_value_class_init (MXFDMS1NameValueClass * klass)
 G_DEFINE_TYPE (MXFDMS1Processing, mxf_dms1_processing, MXF_TYPE_DMS1);
 
 static void
-mxf_dms1_processing_finalize (GstMiniObject * object)
+mxf_dms1_processing_finalize (GObject * object)
 {
   MXFDMS1Processing *self = MXF_DMS1_PROCESSING (object);
 
@@ -5164,7 +5155,7 @@ mxf_dms1_processing_finalize (GstMiniObject * object)
   g_free (self->graphic_usage_type);
   self->graphic_usage_type = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_processing_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_processing_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -5271,11 +5262,11 @@ mxf_dms1_processing_init (MXFDMS1Processing * self)
 static void
 mxf_dms1_processing_class_init (MXFDMS1ProcessingClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_processing_finalize;
+  object_class->finalize = mxf_dms1_processing_finalize;
   metadatabase_class->handle_tag = mxf_dms1_processing_handle_tag;
   dm_class->type = 0x200100;
 }
@@ -5283,14 +5274,14 @@ mxf_dms1_processing_class_init (MXFDMS1ProcessingClass * klass)
 G_DEFINE_TYPE (MXFDMS1Project, mxf_dms1_project, MXF_TYPE_DMS1);
 
 static void
-mxf_dms1_project_finalize (GstMiniObject * object)
+mxf_dms1_project_finalize (GObject * object)
 {
   MXFDMS1Project *self = MXF_DMS1_PROJECT (object);
 
   g_free (self->project_name_or_title);
   self->project_name_or_title = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_project_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_project_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -5348,11 +5339,11 @@ mxf_dms1_project_init (MXFDMS1Project * self)
 static void
 mxf_dms1_project_class_init (MXFDMS1ProjectClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_project_finalize;
+  object_class->finalize = mxf_dms1_project_finalize;
   metadatabase_class->handle_tag = mxf_dms1_project_handle_tag;
   dm_class->type = 0x200200;
 }
@@ -5360,7 +5351,7 @@ mxf_dms1_project_class_init (MXFDMS1ProjectClass * klass)
 G_DEFINE_TYPE (MXFDMS1ContactsList, mxf_dms1_contacts_list, MXF_TYPE_DMS1);
 
 static void
-mxf_dms1_contacts_list_finalize (GstMiniObject * object)
+mxf_dms1_contacts_list_finalize (GObject * object)
 {
   MXFDMS1ContactsList *self = MXF_DMS1_CONTACTS_LIST (object);
 
@@ -5382,8 +5373,7 @@ mxf_dms1_contacts_list_finalize (GstMiniObject * object)
   g_free (self->location_sets);
   self->location_sets = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_contacts_list_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_dms1_contacts_list_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -5532,11 +5522,11 @@ mxf_dms1_contacts_list_init (MXFDMS1ContactsList * self)
 static void
 mxf_dms1_contacts_list_class_init (MXFDMS1ContactsListClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_contacts_list_finalize;
+  object_class->finalize = mxf_dms1_contacts_list_finalize;
   metadatabase_class->handle_tag = mxf_dms1_contacts_list_handle_tag;
   metadatabase_class->resolve = mxf_dms1_contacts_list_resolve;
   dm_class->type = 0x190100;
@@ -5546,7 +5536,7 @@ G_DEFINE_TYPE (MXFDMS1CueWords, mxf_dms1_cue_words,
     MXF_TYPE_DMS1_TEXT_LANGUAGE);
 
 static void
-mxf_dms1_cue_words_finalize (GstMiniObject * object)
+mxf_dms1_cue_words_finalize (GObject * object)
 {
   MXFDMS1CueWords *self = MXF_DMS1_CUE_WORDS (object);
 
@@ -5556,7 +5546,7 @@ mxf_dms1_cue_words_finalize (GstMiniObject * object)
   g_free (self->out_cue_words);
   self->out_cue_words = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_dms1_cue_words_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_dms1_cue_words_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -5604,11 +5594,11 @@ mxf_dms1_cue_words_init (MXFDMS1CueWords * self)
 static void
 mxf_dms1_cue_words_class_init (MXFDMS1CueWordsClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataBaseClass *metadatabase_class = (MXFMetadataBaseClass *) klass;
   MXFDescriptiveMetadataClass *dm_class = (MXFDescriptiveMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_dms1_cue_words_finalize;
+  object_class->finalize = mxf_dms1_cue_words_finalize;
   metadatabase_class->handle_tag = mxf_dms1_cue_words_handle_tag;
   dm_class->type = 0x170800;
 }
index a239958d5865e361f4b189d204d20b159ad2d5b9..cf56c7fcca1a94a6f50b2aeb8b2d09ccf36faf9b 100644 (file)
@@ -175,14 +175,14 @@ mxf_dv_dif_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
   MXFMetadataCDCIPictureEssenceDescriptor *ret;
 
   ret = (MXFMetadataCDCIPictureEssenceDescriptor *)
-      gst_mini_object_new (MXF_TYPE_METADATA_CDCI_PICTURE_ESSENCE_DESCRIPTOR);
+      g_object_new (MXF_TYPE_METADATA_CDCI_PICTURE_ESSENCE_DESCRIPTOR, NULL);
 
   memcpy (&ret->parent.parent.essence_container, &dv_dif_essence_container_ul,
       16);
 
   if (!mxf_metadata_generic_picture_essence_descriptor_from_caps (&ret->parent,
           caps)) {
-    gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+    g_object_unref (ret);
     return NULL;
   }
   *handler = mxf_dv_dif_write_func;
index e9e947b3eaa58c917f94ecf721dc615a46caa68c..5ef7b843dd6d1f276a83f0c715c0fcf04e7fe083 100644 (file)
@@ -239,7 +239,7 @@ mxf_jpeg2000_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
   }
 
   ret = (MXFMetadataRGBAPictureEssenceDescriptor *)
-      gst_mini_object_new (MXF_TYPE_METADATA_RGBA_PICTURE_ESSENCE_DESCRIPTOR);
+      g_object_new (MXF_TYPE_METADATA_RGBA_PICTURE_ESSENCE_DESCRIPTOR, NULL);
 
   memcpy (&ret->parent.parent.essence_container, &jpeg2000_essence_container_ul,
       16);
@@ -270,7 +270,7 @@ mxf_jpeg2000_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
 
   if (!mxf_metadata_generic_picture_essence_descriptor_from_caps (&ret->parent,
           caps)) {
-    gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+    g_object_unref (ret);
     return NULL;
   }
 
index ca05ad7ba717b6c271fce99e4b71cf0b5974b9a6..cf3ccb65552ddd15c8ac1deca4f19add860469bc 100644 (file)
 GST_DEBUG_CATEGORY_EXTERN (mxf_debug);
 #define GST_CAT_DEFAULT mxf_debug
 
-G_DEFINE_ABSTRACT_TYPE (MXFMetadataBase, mxf_metadata_base,
-    GST_TYPE_MINI_OBJECT);
+G_DEFINE_ABSTRACT_TYPE (MXFMetadataBase, mxf_metadata_base, G_TYPE_OBJECT);
 
 static void
-mxf_metadata_base_finalize (GstMiniObject * object)
+mxf_metadata_base_finalize (GObject * object)
 {
   MXFMetadataBase *self = MXF_METADATA_BASE (object);
 
@@ -44,7 +43,7 @@ mxf_metadata_base_finalize (GstMiniObject * object)
     self->other_tags = NULL;
   }
 
-  GST_MINI_OBJECT_CLASS (mxf_metadata_base_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_metadata_base_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -131,9 +130,9 @@ mxf_metadata_base_init (MXFMetadataBase * self)
 static void
 mxf_metadata_base_class_init (MXFMetadataBaseClass * klass)
 {
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
 
-  miniobject_class->finalize = mxf_metadata_base_finalize;
+  object_class->finalize = mxf_metadata_base_finalize;
   klass->handle_tag = mxf_metadata_base_handle_tag;
   klass->resolve = mxf_metadata_base_resolve_default;
   klass->to_structure = mxf_metadata_base_to_structure_default;
@@ -490,7 +489,7 @@ mxf_metadata_new (guint16 type, MXFPrimerPack * primer, guint64 offset,
   ret = (MXFMetadata *) g_type_create_instance (t);
   if (!mxf_metadata_base_parse (MXF_METADATA_BASE (ret), primer, data, size)) {
     GST_ERROR ("Parsing metadata failed");
-    gst_mini_object_unref ((GstMiniObject *) ret);
+    g_object_unref (ret);
     return NULL;
   }
 
@@ -501,7 +500,7 @@ mxf_metadata_new (guint16 type, MXFPrimerPack * primer, guint64 offset,
 G_DEFINE_TYPE (MXFMetadataPreface, mxf_metadata_preface, MXF_TYPE_METADATA);
 
 static void
-mxf_metadata_preface_finalize (GstMiniObject * object)
+mxf_metadata_preface_finalize (GObject * object)
 {
   MXFMetadataPreface *self = MXF_METADATA_PREFACE (object);
 
@@ -517,7 +516,7 @@ mxf_metadata_preface_finalize (GstMiniObject * object)
   g_free (self->dm_schemes);
   self->dm_schemes = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_metadata_preface_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_metadata_preface_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -947,10 +946,10 @@ static void
 mxf_metadata_preface_class_init (MXFMetadataPrefaceClass * klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataClass *metadata_class = (MXFMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_metadata_preface_finalize;
+  object_class->finalize = mxf_metadata_preface_finalize;
   metadata_base_class->handle_tag = mxf_metadata_preface_handle_tag;
   metadata_base_class->resolve = mxf_metadata_preface_resolve;
   metadata_base_class->to_structure = mxf_metadata_preface_to_structure;
@@ -963,7 +962,7 @@ G_DEFINE_TYPE (MXFMetadataIdentification, mxf_metadata_identification,
     MXF_TYPE_METADATA);
 
 static void
-mxf_metadata_identification_finalize (GstMiniObject * object)
+mxf_metadata_identification_finalize (GObject * object)
 {
   MXFMetadataIdentification *self = MXF_METADATA_IDENTIFICATION (object);
 
@@ -979,8 +978,7 @@ mxf_metadata_identification_finalize (GstMiniObject * object)
   g_free (self->platform);
   self->platform = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_metadata_identification_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_metadata_identification_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -1237,10 +1235,10 @@ static void
 mxf_metadata_identification_class_init (MXFMetadataIdentificationClass * klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataClass *metadata_class = (MXFMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_metadata_identification_finalize;
+  object_class->finalize = mxf_metadata_identification_finalize;
   metadata_base_class->handle_tag = mxf_metadata_identification_handle_tag;
   metadata_base_class->name_quark = MXF_QUARK (IDENTIFICATION);
   metadata_base_class->to_structure = mxf_metadata_identification_to_structure;
@@ -1252,7 +1250,7 @@ G_DEFINE_TYPE (MXFMetadataContentStorage, mxf_metadata_content_storage,
     MXF_TYPE_METADATA);
 
 static void
-mxf_metadata_content_storage_finalize (GstMiniObject * object)
+mxf_metadata_content_storage_finalize (GObject * object)
 {
   MXFMetadataContentStorage *self = MXF_METADATA_CONTENT_STORAGE (object);
 
@@ -1265,8 +1263,7 @@ mxf_metadata_content_storage_finalize (GstMiniObject * object)
   g_free (self->essence_container_data_uids);
   self->essence_container_data_uids = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_metadata_content_storage_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_metadata_content_storage_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -1532,10 +1529,10 @@ static void
 mxf_metadata_content_storage_class_init (MXFMetadataContentStorageClass * klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataClass *metadata_class = (MXFMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_metadata_content_storage_finalize;
+  object_class->finalize = mxf_metadata_content_storage_finalize;
   metadata_base_class->handle_tag = mxf_metadata_content_storage_handle_tag;
   metadata_base_class->resolve = mxf_metadata_content_storage_resolve;
   metadata_base_class->name_quark = MXF_QUARK (CONTENT_STORAGE);
@@ -1729,7 +1726,7 @@ G_DEFINE_ABSTRACT_TYPE (MXFMetadataGenericPackage, mxf_metadata_generic_package,
     MXF_TYPE_METADATA);
 
 static void
-mxf_metadata_generic_package_finalize (GstMiniObject * object)
+mxf_metadata_generic_package_finalize (GObject * object)
 {
   MXFMetadataGenericPackage *self = MXF_METADATA_GENERIC_PACKAGE (object);
 
@@ -1741,8 +1738,7 @@ mxf_metadata_generic_package_finalize (GstMiniObject * object)
   g_free (self->tracks);
   self->tracks = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_metadata_generic_package_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_metadata_generic_package_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -2001,9 +1997,9 @@ static void
 mxf_metadata_generic_package_class_init (MXFMetadataGenericPackageClass * klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
 
-  miniobject_class->finalize = mxf_metadata_generic_package_finalize;
+  object_class->finalize = mxf_metadata_generic_package_finalize;
   metadata_base_class->handle_tag = mxf_metadata_generic_package_handle_tag;
   metadata_base_class->resolve = mxf_metadata_generic_package_resolve;
   metadata_base_class->to_structure = mxf_metadata_generic_package_to_structure;
@@ -2070,8 +2066,8 @@ mxf_metadata_material_package_resolve (MXFMetadataBase * m,
         MXFMetadataTimelineTrack *tmp;
 
         if (!sc->source_package->parent.tracks[k] ||
-            !MXF_IS_METADATA_TIMELINE_TRACK (sc->source_package->parent.
-                tracks[k]))
+            !MXF_IS_METADATA_TIMELINE_TRACK (sc->source_package->
+                parent.tracks[k]))
           continue;
 
         tmp =
@@ -2324,7 +2320,7 @@ G_DEFINE_ABSTRACT_TYPE (MXFMetadataTrack, mxf_metadata_track,
     MXF_TYPE_METADATA);
 
 static void
-mxf_metadata_track_finalize (GstMiniObject * object)
+mxf_metadata_track_finalize (GObject * object)
 {
   MXFMetadataTrack *self = MXF_METADATA_TRACK (object);
 
@@ -2333,7 +2329,7 @@ mxf_metadata_track_finalize (GstMiniObject * object)
   g_free (self->descriptor);
   self->descriptor = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_metadata_track_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_metadata_track_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -2515,9 +2511,9 @@ static void
 mxf_metadata_track_class_init (MXFMetadataTrackClass * klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
 
-  miniobject_class->finalize = mxf_metadata_track_finalize;
+  object_class->finalize = mxf_metadata_track_finalize;
   metadata_base_class->handle_tag = mxf_metadata_track_handle_tag;
   metadata_base_class->resolve = mxf_metadata_track_resolve;
   metadata_base_class->to_structure = mxf_metadata_track_to_structure;
@@ -2805,7 +2801,7 @@ mxf_metadata_static_track_class_init (MXFMetadataStaticTrackClass * klass)
 G_DEFINE_TYPE (MXFMetadataSequence, mxf_metadata_sequence, MXF_TYPE_METADATA);
 
 static void
-mxf_metadata_sequence_finalize (GstMiniObject * object)
+mxf_metadata_sequence_finalize (GObject * object)
 {
   MXFMetadataSequence *self = MXF_METADATA_SEQUENCE (object);
 
@@ -2814,7 +2810,7 @@ mxf_metadata_sequence_finalize (GstMiniObject * object)
   g_free (self->structural_components);
   self->structural_components = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_metadata_sequence_parent_class)->finalize (object);
+  G_OBJECT_CLASS (mxf_metadata_sequence_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -3022,10 +3018,10 @@ static void
 mxf_metadata_sequence_class_init (MXFMetadataSequenceClass * klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataClass *metadata_class = (MXFMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_metadata_sequence_finalize;
+  object_class->finalize = mxf_metadata_sequence_finalize;
   metadata_base_class->handle_tag = mxf_metadata_sequence_handle_tag;
   metadata_base_class->resolve = mxf_metadata_sequence_resolve;
   metadata_base_class->name_quark = MXF_QUARK (SEQUENCE);
@@ -3434,15 +3430,14 @@ G_DEFINE_TYPE (MXFMetadataDMSourceClip, mxf_metadata_dm_source_clip,
     MXF_TYPE_METADATA_SOURCE_CLIP);
 
 static void
-mxf_metadata_dm_source_clip_finalize (GstMiniObject * object)
+mxf_metadata_dm_source_clip_finalize (GObject * object)
 {
   MXFMetadataDMSourceClip *self = MXF_METADATA_DM_SOURCE_CLIP (object);
 
   g_free (self->track_ids);
   self->track_ids = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_metadata_dm_source_clip_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_metadata_dm_source_clip_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -3577,10 +3572,10 @@ static void
 mxf_metadata_dm_source_clip_class_init (MXFMetadataDMSourceClipClass * klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataClass *metadata_class = (MXFMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_metadata_dm_source_clip_finalize;
+  object_class->finalize = mxf_metadata_dm_source_clip_finalize;
   metadata_base_class->handle_tag = mxf_metadata_dm_source_clip_handle_tag;
   metadata_base_class->name_quark = MXF_QUARK (DM_SOURCE_CLIP);
   metadata_base_class->to_structure = mxf_metadata_dm_source_clip_to_structure;
@@ -3592,7 +3587,7 @@ G_DEFINE_TYPE (MXFMetadataDMSegment, mxf_metadata_dm_segment,
     MXF_TYPE_METADATA_STRUCTURAL_COMPONENT);
 
 static void
-mxf_metadata_dm_segment_finalize (GstMiniObject * object)
+mxf_metadata_dm_segment_finalize (GObject * object)
 {
   MXFMetadataDMSegment *self = MXF_METADATA_DM_SEGMENT (object);
 
@@ -3602,8 +3597,7 @@ mxf_metadata_dm_segment_finalize (GstMiniObject * object)
   g_free (self->event_comment);
   self->event_comment = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_metadata_dm_segment_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_metadata_dm_segment_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -3830,10 +3824,10 @@ static void
 mxf_metadata_dm_segment_class_init (MXFMetadataDMSegmentClass * klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataClass *metadata_class = (MXFMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_metadata_dm_segment_finalize;
+  object_class->finalize = mxf_metadata_dm_segment_finalize;
   metadata_base_class->handle_tag = mxf_metadata_dm_segment_handle_tag;
   metadata_base_class->resolve = mxf_metadata_dm_segment_resolve;
   metadata_base_class->name_quark = MXF_QUARK (DM_SEGMENT);
@@ -3846,7 +3840,7 @@ G_DEFINE_ABSTRACT_TYPE (MXFMetadataGenericDescriptor,
     mxf_metadata_generic_descriptor, MXF_TYPE_METADATA);
 
 static void
-mxf_metadata_generic_descriptor_finalize (GstMiniObject * object)
+mxf_metadata_generic_descriptor_finalize (GObject * object)
 {
   MXFMetadataGenericDescriptor *self = MXF_METADATA_GENERIC_DESCRIPTOR (object);
 
@@ -3856,7 +3850,7 @@ mxf_metadata_generic_descriptor_finalize (GstMiniObject * object)
   g_free (self->locators);
   self->locators = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_metadata_generic_descriptor_parent_class)->finalize
+  G_OBJECT_CLASS (mxf_metadata_generic_descriptor_parent_class)->finalize
       (object);
 }
 
@@ -4029,9 +4023,9 @@ mxf_metadata_generic_descriptor_class_init (MXFMetadataGenericDescriptorClass *
     klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
 
-  miniobject_class->finalize = mxf_metadata_generic_descriptor_finalize;
+  object_class->finalize = mxf_metadata_generic_descriptor_finalize;
   metadata_base_class->handle_tag = mxf_metadata_generic_descriptor_handle_tag;
   metadata_base_class->resolve = mxf_metadata_generic_descriptor_resolve;
   metadata_base_class->to_structure =
@@ -4401,8 +4395,8 @@ mxf_metadata_generic_picture_essence_descriptor_handle_tag (MXFMetadataBase *
     default:
       ret =
           MXF_METADATA_BASE_CLASS
-          (mxf_metadata_generic_picture_essence_descriptor_parent_class)->handle_tag
-          (metadata, primer, tag, tag_data, tag_size);
+          (mxf_metadata_generic_picture_essence_descriptor_parent_class)->
+          handle_tag (metadata, primer, tag, tag_data, tag_size);
       break;
   }
 
@@ -4423,8 +4417,8 @@ mxf_metadata_generic_picture_essence_descriptor_to_structure (MXFMetadataBase *
 {
   GstStructure *ret =
       MXF_METADATA_BASE_CLASS
-      (mxf_metadata_generic_picture_essence_descriptor_parent_class)->to_structure
-      (m);
+      (mxf_metadata_generic_picture_essence_descriptor_parent_class)->
+      to_structure (m);
   MXFMetadataGenericPictureEssenceDescriptor *self =
       MXF_METADATA_GENERIC_PICTURE_ESSENCE_DESCRIPTOR (m);
   gchar str[48];
@@ -5018,8 +5012,8 @@ mxf_metadata_generic_sound_essence_descriptor_handle_tag (MXFMetadataBase *
     default:
       ret =
           MXF_METADATA_BASE_CLASS
-          (mxf_metadata_generic_sound_essence_descriptor_parent_class)->handle_tag
-          (metadata, primer, tag, tag_data, tag_size);
+          (mxf_metadata_generic_sound_essence_descriptor_parent_class)->
+          handle_tag (metadata, primer, tag, tag_data, tag_size);
       break;
   }
 
@@ -5339,8 +5333,8 @@ mxf_metadata_cdci_picture_essence_descriptor_handle_tag (MXFMetadataBase *
     default:
       ret =
           MXF_METADATA_BASE_CLASS
-          (mxf_metadata_cdci_picture_essence_descriptor_parent_class)->handle_tag
-          (metadata, primer, tag, tag_data, tag_size);
+          (mxf_metadata_cdci_picture_essence_descriptor_parent_class)->
+          handle_tag (metadata, primer, tag, tag_data, tag_size);
       break;
   }
 
@@ -5561,7 +5555,7 @@ G_DEFINE_TYPE (MXFMetadataRGBAPictureEssenceDescriptor,
     MXF_TYPE_METADATA_GENERIC_PICTURE_ESSENCE_DESCRIPTOR);
 
 static void
-mxf_metadata_rgba_picture_essence_descriptor_finalize (GstMiniObject * object)
+mxf_metadata_rgba_picture_essence_descriptor_finalize (GObject * object)
 {
   MXFMetadataRGBAPictureEssenceDescriptor *self =
       MXF_METADATA_RGBA_PICTURE_ESSENCE_DESCRIPTOR (object);
@@ -5569,7 +5563,7 @@ mxf_metadata_rgba_picture_essence_descriptor_finalize (GstMiniObject * object)
   g_free (self->pixel_layout);
   self->pixel_layout = NULL;
 
-  GST_MINI_OBJECT_CLASS
+  G_OBJECT_CLASS
       (mxf_metadata_rgba_picture_essence_descriptor_parent_class)->finalize
       (object);
 }
@@ -5649,8 +5643,8 @@ mxf_metadata_rgba_picture_essence_descriptor_handle_tag (MXFMetadataBase *
     default:
       ret =
           MXF_METADATA_BASE_CLASS
-          (mxf_metadata_rgba_picture_essence_descriptor_parent_class)->handle_tag
-          (metadata, primer, tag, tag_data, tag_size);
+          (mxf_metadata_rgba_picture_essence_descriptor_parent_class)->
+          handle_tag (metadata, primer, tag, tag_data, tag_size);
       break;
   }
 
@@ -5804,10 +5798,10 @@ static void
     (MXFMetadataRGBAPictureEssenceDescriptorClass * klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataClass *metadata_class = (MXFMetadataClass *) klass;
 
-  miniobject_class->finalize =
+  object_class->finalize =
       mxf_metadata_rgba_picture_essence_descriptor_finalize;
   metadata_base_class->handle_tag =
       mxf_metadata_rgba_picture_essence_descriptor_handle_tag;
@@ -5846,8 +5840,8 @@ mxf_metadata_generic_data_essence_descriptor_handle_tag (MXFMetadataBase *
     default:
       ret =
           MXF_METADATA_BASE_CLASS
-          (mxf_metadata_generic_data_essence_descriptor_parent_class)->handle_tag
-          (metadata, primer, tag, tag_data, tag_size);
+          (mxf_metadata_generic_data_essence_descriptor_parent_class)->
+          handle_tag (metadata, primer, tag, tag_data, tag_size);
       break;
   }
 
@@ -5936,7 +5930,7 @@ G_DEFINE_TYPE (MXFMetadataMultipleDescriptor, mxf_metadata_multiple_descriptor,
     MXF_TYPE_METADATA_FILE_DESCRIPTOR);
 
 static void
-mxf_metadata_multiple_descriptor_finalize (GstMiniObject * object)
+mxf_metadata_multiple_descriptor_finalize (GObject * object)
 {
   MXFMetadataMultipleDescriptor *self =
       MXF_METADATA_MULTIPLE_DESCRIPTOR (object);
@@ -5946,7 +5940,7 @@ mxf_metadata_multiple_descriptor_finalize (GstMiniObject * object)
   g_free (self->sub_descriptors);
   self->sub_descriptors = NULL;
 
-  GST_MINI_OBJECT_CLASS
+  G_OBJECT_CLASS
       (mxf_metadata_multiple_descriptor_parent_class)->finalize (object);
 }
 
@@ -6119,10 +6113,10 @@ mxf_metadata_multiple_descriptor_class_init (MXFMetadataMultipleDescriptorClass
     * klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataClass *metadata_class = (MXFMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_metadata_multiple_descriptor_finalize;
+  object_class->finalize = mxf_metadata_multiple_descriptor_finalize;
   metadata_base_class->handle_tag = mxf_metadata_multiple_descriptor_handle_tag;
   metadata_base_class->resolve = mxf_metadata_multiple_descriptor_resolve;
   metadata_base_class->name_quark = MXF_QUARK (MULTIPLE_DESCRIPTOR);
@@ -6149,15 +6143,14 @@ G_DEFINE_TYPE (MXFMetadataTextLocator, mxf_metadata_text_locator,
     MXF_TYPE_METADATA_LOCATOR);
 
 static void
-mxf_metadata_text_locator_finalize (GstMiniObject * object)
+mxf_metadata_text_locator_finalize (GObject * object)
 {
   MXFMetadataTextLocator *self = MXF_METADATA_TEXT_LOCATOR (object);
 
   g_free (self->locator_name);
   self->locator_name = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_metadata_text_locator_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_metadata_text_locator_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -6229,10 +6222,10 @@ static void
 mxf_metadata_text_locator_class_init (MXFMetadataTextLocatorClass * klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataClass *metadata_class = (MXFMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_metadata_text_locator_finalize;
+  object_class->finalize = mxf_metadata_text_locator_finalize;
   metadata_base_class->handle_tag = mxf_metadata_text_locator_handle_tag;
   metadata_base_class->name_quark = MXF_QUARK (TEXT_LOCATOR);
   metadata_base_class->to_structure = mxf_metadata_text_locator_to_structure;
@@ -6244,15 +6237,14 @@ G_DEFINE_TYPE (MXFMetadataNetworkLocator, mxf_metadata_network_locator,
     MXF_TYPE_METADATA_LOCATOR);
 
 static void
-mxf_metadata_network_locator_finalize (GstMiniObject * object)
+mxf_metadata_network_locator_finalize (GObject * object)
 {
   MXFMetadataNetworkLocator *self = MXF_METADATA_NETWORK_LOCATOR (object);
 
   g_free (self->url_string);
   self->url_string = NULL;
 
-  GST_MINI_OBJECT_CLASS (mxf_metadata_network_locator_parent_class)->finalize
-      (object);
+  G_OBJECT_CLASS (mxf_metadata_network_locator_parent_class)->finalize (object);
 }
 
 static gboolean
@@ -6323,10 +6315,10 @@ static void
 mxf_metadata_network_locator_class_init (MXFMetadataNetworkLocatorClass * klass)
 {
   MXFMetadataBaseClass *metadata_base_class = (MXFMetadataBaseClass *) klass;
-  GstMiniObjectClass *miniobject_class = (GstMiniObjectClass *) klass;
+  GObjectClass *object_class = (GObjectClass *) klass;
   MXFMetadataClass *metadata_class = (MXFMetadataClass *) klass;
 
-  miniobject_class->finalize = mxf_metadata_network_locator_finalize;
+  object_class->finalize = mxf_metadata_network_locator_finalize;
   metadata_base_class->handle_tag = mxf_metadata_network_locator_handle_tag;
   metadata_base_class->name_quark = MXF_QUARK (NETWORK_LOCATOR);
   metadata_base_class->to_structure = mxf_metadata_network_locator_to_structure;
@@ -6429,7 +6421,7 @@ mxf_descriptive_metadata_new (guint8 scheme, guint32 type,
   ret = (MXFDescriptiveMetadata *) g_type_create_instance (t);
   if (!mxf_metadata_base_parse (MXF_METADATA_BASE (ret), primer, data, size)) {
     GST_ERROR ("Parsing metadata failed");
-    gst_mini_object_unref ((GstMiniObject *) ret);
+    g_object_unref (ret);
     return NULL;
   }
 
@@ -6471,5 +6463,5 @@ mxf_metadata_hash_table_new (void)
 {
   return g_hash_table_new_full ((GHashFunc) mxf_uuid_hash,
       (GEqualFunc) mxf_uuid_is_equal, (GDestroyNotify) NULL,
-      (GDestroyNotify) gst_mini_object_unref);
+      (GDestroyNotify) g_object_unref);
 }
index b5e45b12b9300c279cc2afb594870e65c44e79c4..2f32d98e09c6bd1cea3283f896ea1b2522a750a6 100644 (file)
@@ -368,7 +368,7 @@ typedef enum {
 } MXFMetadataBaseResolveState;
 
 struct _MXFMetadataBase {
-  GstMiniObject parent;
+  GObject parent;
 
   MXFUUID instance_uid;
   MXFUUID generation_uid;
@@ -381,7 +381,7 @@ struct _MXFMetadataBase {
 };
 
 struct _MXFMetadataBaseClass {
-  GstMiniObjectClass parent;
+  GObjectClass parent;
 
   gboolean (*handle_tag) (MXFMetadataBase *self, MXFPrimerPack *primer, guint16 tag, const guint8 *tag_data, guint tag_size);
   gboolean (*resolve) (MXFMetadataBase *self, GHashTable *metadata);
@@ -739,7 +739,7 @@ struct _MXFDescriptiveMetadata {
 };
 
 struct _MXFDescriptiveMetadataClass {
-  MXFMetadataBase parent;
+  MXFMetadataBaseClass parent;
 
   guint8 scheme;
   guint32 type;
index 08b1a27b8c03478df0c70e89bec2509b200745a3..f1b74f964b073737345f1f305d8981ac130ec4bf 100644 (file)
@@ -894,7 +894,7 @@ mxf_mpeg_audio_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
   *mapping_data = md;
 
   ret = (MXFMetadataGenericSoundEssenceDescriptor *)
-      gst_mini_object_new (MXF_TYPE_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR);
+      g_object_new (MXF_TYPE_METADATA_GENERIC_SOUND_ESSENCE_DESCRIPTOR, NULL);
 
   s = gst_caps_get_structure (caps, 0);
   if (strcmp (gst_structure_get_name (s), "audio/mpeg") == 0) {
@@ -902,7 +902,7 @@ mxf_mpeg_audio_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
 
     if (!gst_structure_get_int (s, "mpegversion", &mpegversion)) {
       GST_ERROR ("Invalid caps %" GST_PTR_FORMAT, caps);
-      gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+      g_object_unref (ret);
       return NULL;
     }
 
@@ -946,7 +946,7 @@ mxf_mpeg_audio_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
 
   if (!gst_structure_get_int (s, "rate", &rate)) {
     GST_ERROR ("Invalid rate");
-    gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+    g_object_unref (ret);
     return NULL;
   }
   md->rate = rate;
@@ -954,7 +954,7 @@ mxf_mpeg_audio_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
   memcpy (&ret->parent.essence_container, &mpeg_essence_container_ul, 16);
 
   if (!mxf_metadata_generic_sound_essence_descriptor_from_caps (ret, caps)) {
-    gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+    g_object_unref (ret);
     return NULL;
   }
 
@@ -1154,7 +1154,7 @@ mxf_mpeg_video_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
   GstStructure *s;
 
   ret = (MXFMetadataMPEGVideoDescriptor *)
-      gst_mini_object_new (MXF_TYPE_METADATA_MPEG_VIDEO_DESCRIPTOR);
+      g_object_new (MXF_TYPE_METADATA_MPEG_VIDEO_DESCRIPTOR, NULL);
 
   s = gst_caps_get_structure (caps, 0);
 
@@ -1167,7 +1167,7 @@ mxf_mpeg_video_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
 
     if (!gst_structure_get_int (s, "mpegversion", &mpegversion)) {
       GST_ERROR ("Invalid caps %" GST_PTR_FORMAT, caps);
-      gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+      g_object_unref (ret);
       return NULL;
     }
 
@@ -1214,7 +1214,7 @@ mxf_mpeg_video_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
 
   if (!mxf_metadata_generic_picture_essence_descriptor_from_caps (&ret->
           parent.parent, caps)) {
-    gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+    g_object_unref (ret);
     return NULL;
   }
 
index 403fff8f307409bcb4cdbbaaef95e9b3094cbbf0..6b0e79556f5b8b4074cf571010a72461d6e10c5e 100644 (file)
@@ -477,7 +477,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
 
   /* Preface */
   mux->preface =
-      (MXFMetadataPreface *) gst_mini_object_new (MXF_TYPE_METADATA_PREFACE);
+      (MXFMetadataPreface *) g_object_new (MXF_TYPE_METADATA_PREFACE, NULL);
   mxf_uuid_init (&MXF_METADATA_BASE (mux->preface)->instance_uid,
       mux->metadata);
   g_hash_table_insert (mux->metadata,
@@ -533,7 +533,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
     mux->preface->identifications = g_new0 (MXFMetadataIdentification *, 1);
     identification = mux->preface->identifications[0] =
         (MXFMetadataIdentification *)
-        gst_mini_object_new (MXF_TYPE_METADATA_IDENTIFICATION);
+        g_object_new (MXF_TYPE_METADATA_IDENTIFICATION, NULL);
 
     mxf_uuid_init (&MXF_METADATA_BASE (identification)->instance_uid,
         mux->metadata);
@@ -592,7 +592,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
     guint i;
 
     cstorage = mux->preface->content_storage = (MXFMetadataContentStorage *)
-        gst_mini_object_new (MXF_TYPE_METADATA_CONTENT_STORAGE);
+        g_object_new (MXF_TYPE_METADATA_CONTENT_STORAGE, NULL);
     mxf_uuid_init (&MXF_METADATA_BASE (cstorage)->instance_uid, mux->metadata);
     g_hash_table_insert (mux->metadata,
         &MXF_METADATA_BASE (cstorage)->instance_uid, cstorage);
@@ -606,7 +606,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
       MXFMetadataSourcePackage *p;
 
       cstorage->packages[1] = (MXFMetadataGenericPackage *)
-          gst_mini_object_new (MXF_TYPE_METADATA_SOURCE_PACKAGE);
+          g_object_new (MXF_TYPE_METADATA_SOURCE_PACKAGE, NULL);
       mxf_uuid_init (&MXF_METADATA_BASE (cstorage->packages[1])->instance_uid,
           mux->metadata);
       g_hash_table_insert (mux->metadata,
@@ -630,7 +630,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
         MXFMetadataMultipleDescriptor *d;
 
         p->descriptor = (MXFMetadataGenericDescriptor *)
-            gst_mini_object_new (MXF_TYPE_METADATA_MULTIPLE_DESCRIPTOR);
+            g_object_new (MXF_TYPE_METADATA_MULTIPLE_DESCRIPTOR, NULL);
         d = (MXFMetadataMultipleDescriptor *) p->descriptor;
         d->n_sub_descriptors = p->parent.n_tracks;
         d->sub_descriptors =
@@ -654,7 +654,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
           MXFMetadataSourceClip *clip;
 
           p->parent.tracks[n] = (MXFMetadataTrack *)
-              gst_mini_object_new (MXF_TYPE_METADATA_TIMELINE_TRACK);
+              g_object_new (MXF_TYPE_METADATA_TIMELINE_TRACK, NULL);
           track = (MXFMetadataTimelineTrack *) p->parent.tracks[n];
           mxf_uuid_init (&MXF_METADATA_BASE (track)->instance_uid,
               mux->metadata);
@@ -672,7 +672,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
               cpad->collect.buffer, p, track, &track->edit_rate);
 
           sequence = track->parent.sequence = (MXFMetadataSequence *)
-              gst_mini_object_new (MXF_TYPE_METADATA_SEQUENCE);
+              g_object_new (MXF_TYPE_METADATA_SEQUENCE, NULL);
           mxf_uuid_init (&MXF_METADATA_BASE (sequence)->instance_uid,
               mux->metadata);
           g_hash_table_insert (mux->metadata,
@@ -687,7 +687,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
               g_new0 (MXFMetadataStructuralComponent *, 1);
 
           clip = (MXFMetadataSourceClip *)
-              gst_mini_object_new (MXF_TYPE_METADATA_SOURCE_CLIP);
+              g_object_new (MXF_TYPE_METADATA_SOURCE_CLIP, NULL);
           sequence->structural_components[0] =
               (MXFMetadataStructuralComponent *) clip;
           mxf_uuid_init (&MXF_METADATA_BASE (clip)->instance_uid,
@@ -723,7 +723,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
       gdouble min_edit_rate_d = G_MAXDOUBLE;
 
       cstorage->packages[0] = (MXFMetadataGenericPackage *)
-          gst_mini_object_new (MXF_TYPE_METADATA_MATERIAL_PACKAGE);
+          g_object_new (MXF_TYPE_METADATA_MATERIAL_PACKAGE, NULL);
       memcpy (&MXF_METADATA_BASE (cstorage->packages[0])->instance_uid,
           &mux->preface->primary_package_uid, 16);
       g_hash_table_insert (mux->metadata,
@@ -762,7 +762,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
                   1]);
 
           p->tracks[n] = (MXFMetadataTrack *)
-              gst_mini_object_new (MXF_TYPE_METADATA_TIMELINE_TRACK);
+              g_object_new (MXF_TYPE_METADATA_TIMELINE_TRACK, NULL);
           track = (MXFMetadataTimelineTrack *) p->tracks[n];
           mxf_uuid_init (&MXF_METADATA_BASE (track)->instance_uid,
               mux->metadata);
@@ -797,7 +797,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
           }
 
           sequence = track->parent.sequence = (MXFMetadataSequence *)
-              gst_mini_object_new (MXF_TYPE_METADATA_SEQUENCE);
+              g_object_new (MXF_TYPE_METADATA_SEQUENCE, NULL);
           mxf_uuid_init (&MXF_METADATA_BASE (sequence)->instance_uid,
               mux->metadata);
           g_hash_table_insert (mux->metadata,
@@ -811,7 +811,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
               g_new0 (MXFMetadataStructuralComponent *, 1);
 
           clip = (MXFMetadataSourceClip *)
-              gst_mini_object_new (MXF_TYPE_METADATA_SOURCE_CLIP);
+              g_object_new (MXF_TYPE_METADATA_SOURCE_CLIP, NULL);
           sequence->structural_components[0] =
               (MXFMetadataStructuralComponent *) clip;
           mxf_uuid_init (&MXF_METADATA_BASE (clip)->instance_uid,
@@ -839,7 +839,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
           MXFMetadataTimecodeComponent *component;
 
           p->tracks[n] = (MXFMetadataTrack *)
-              gst_mini_object_new (MXF_TYPE_METADATA_TIMELINE_TRACK);
+              g_object_new (MXF_TYPE_METADATA_TIMELINE_TRACK, NULL);
           track = (MXFMetadataTimelineTrack *) p->tracks[n];
           mxf_uuid_init (&MXF_METADATA_BASE (track)->instance_uid,
               mux->metadata);
@@ -854,7 +854,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
           memcpy (&track->edit_rate, &min_edit_rate, sizeof (MXFFraction));
 
           sequence = track->parent.sequence = (MXFMetadataSequence *)
-              gst_mini_object_new (MXF_TYPE_METADATA_SEQUENCE);
+              g_object_new (MXF_TYPE_METADATA_SEQUENCE, NULL);
           mxf_uuid_init (&MXF_METADATA_BASE (sequence)->instance_uid,
               mux->metadata);
           g_hash_table_insert (mux->metadata,
@@ -870,7 +870,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
               g_new0 (MXFMetadataStructuralComponent *, 1);
 
           component = (MXFMetadataTimecodeComponent *)
-              gst_mini_object_new (MXF_TYPE_METADATA_TIMECODE_COMPONENT);
+              g_object_new (MXF_TYPE_METADATA_TIMECODE_COMPONENT, NULL);
           sequence->structural_components[0] =
               (MXFMetadataStructuralComponent *) component;
           mxf_uuid_init (&MXF_METADATA_BASE (component)->instance_uid,
@@ -928,7 +928,7 @@ gst_mxf_mux_create_metadata (GstMXFMux * mux)
     cstorage->essence_container_data =
         g_new0 (MXFMetadataEssenceContainerData *, 1);
     cstorage->essence_container_data[0] = (MXFMetadataEssenceContainerData *)
-        gst_mini_object_new (MXF_TYPE_METADATA_ESSENCE_CONTAINER_DATA);
+        g_object_new (MXF_TYPE_METADATA_ESSENCE_CONTAINER_DATA, NULL);
     mxf_uuid_init (&MXF_METADATA_BASE (cstorage->essence_container_data[0])->
         instance_uid, mux->metadata);
     g_hash_table_insert (mux->metadata,
index 7d0172584d841115a725455d61a5515fbe570a31..cbe7af9c15c055341d3e845d1d00a890a53c0b9f 100644 (file)
@@ -404,7 +404,7 @@ mxf_up_get_rgba_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
   *mapping_data = md;
 
   ret = (MXFMetadataRGBAPictureEssenceDescriptor *)
-      gst_mini_object_new (MXF_TYPE_METADATA_RGBA_PICTURE_ESSENCE_DESCRIPTOR);
+      g_object_new (MXF_TYPE_METADATA_RGBA_PICTURE_ESSENCE_DESCRIPTOR, NULL);
 
   for (i = 0; i < G_N_ELEMENTS (_rgba_mapping_table); i++) {
     tmp = gst_caps_from_string (_rgba_mapping_table[i].caps);
@@ -426,7 +426,7 @@ mxf_up_get_rgba_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
 
   if (md->fourcc == 0) {
     GST_ERROR ("Invalid caps %" GST_PTR_FORMAT, caps);
-    gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+    g_object_unref (ret);
     return NULL;
   }
 
@@ -435,7 +435,7 @@ mxf_up_get_rgba_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
 
   if (!mxf_metadata_generic_picture_essence_descriptor_from_caps (&ret->parent,
           caps)) {
-    gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+    g_object_unref (ret);
     return NULL;
   }
 
@@ -459,7 +459,7 @@ mxf_up_get_cdci_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
   *mapping_data = md;
 
   ret = (MXFMetadataCDCIPictureEssenceDescriptor *)
-      gst_mini_object_new (MXF_TYPE_METADATA_CDCI_PICTURE_ESSENCE_DESCRIPTOR);
+      g_object_new (MXF_TYPE_METADATA_CDCI_PICTURE_ESSENCE_DESCRIPTOR, NULL);
 
   for (i = 0; i < G_N_ELEMENTS (_cdci_mapping_table); i++) {
     tmp = gst_caps_from_string (_cdci_mapping_table[i].caps);
@@ -481,7 +481,7 @@ mxf_up_get_cdci_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
 
   if (md->fourcc == 0) {
     GST_ERROR ("Invalid caps %" GST_PTR_FORMAT, caps);
-    gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+    g_object_unref (ret);
     return NULL;
   }
 
@@ -489,7 +489,7 @@ mxf_up_get_cdci_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
 
   if (!mxf_metadata_generic_picture_essence_descriptor_from_caps (&ret->parent,
           caps)) {
-    gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+    g_object_unref (ret);
     return NULL;
   }
 
index e4136d17cc4e78f0cac243c80c737e38be1ccba0..b8cb6ecde9942d376e8cb99e0bf3c5988466465c 100644 (file)
@@ -185,13 +185,13 @@ mxf_vc3_get_descriptor (GstPadTemplate * tmpl, GstCaps * caps,
   }
 
   ret = (MXFMetadataCDCIPictureEssenceDescriptor *)
-      gst_mini_object_new (MXF_TYPE_METADATA_CDCI_PICTURE_ESSENCE_DESCRIPTOR);
+      g_object_new (MXF_TYPE_METADATA_CDCI_PICTURE_ESSENCE_DESCRIPTOR, NULL);
 
   memcpy (&ret->parent.parent.essence_container, &vc3_essence_container_ul, 16);
 
   if (!mxf_metadata_generic_picture_essence_descriptor_from_caps (&ret->parent,
           caps)) {
-    gst_mini_object_unref (GST_MINI_OBJECT_CAST (ret));
+    g_object_unref (ret);
     return NULL;
   }
 
index baafd1fd35fd5578bf1291318353cec66b5497d1..e27db187983ee8f4ab8d5d729e1849083b1f466c 100644 (file)
@@ -6,7 +6,7 @@
 #include "gstrtpvp8depay.h"
 
 static gboolean
-plugin_init (GstPlugin *plugin)
+plugin_init (GstPlugin * plugin)
 {
   gst_rtp_vp8_depay_plugin_init (plugin);
   gst_rtp_vp8_pay_plugin_init (plugin);
index 7af936bdd4dca6175d66681865aece2d613576ee..36b54f0ea5ab28551b2437b924f563581b8206a5 100644 (file)
@@ -364,7 +364,6 @@ gst_sdi_demux_chain (GstPad * pad, GstBuffer * buffer)
   if (sdidemux->output_buffer == NULL) {
     gst_sdi_demux_get_output_buffer (sdidemux);
   }
-
 #if 0
   if (sdidemux->offset) {
     int n;
index e03fb7ec3ccadeddd45e158f4ee0b7358efc4dc5..8f7bbc8ef5bbd5e58e0bda884d8a921123e4fe7a 100644 (file)
@@ -138,30 +138,8 @@ static GstFlowReturn gst_sdp_demux_sink_chain (GstPad * pad,
 
 /*static guint gst_sdp_demux_signals[LAST_SIGNAL] = { 0 }; */
 
-static void
-_do_init (GType sdp_demux_type)
-{
-  GST_DEBUG_CATEGORY_INIT (sdpdemux_debug, "sdpdemux", 0, "SDP demux");
-}
-
-GST_BOILERPLATE_FULL (GstSDPDemux, gst_sdp_demux, GstBin, GST_TYPE_BIN,
-    _do_init);
-
-static void
-gst_sdp_demux_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 (&sinktemplate));
-  gst_element_class_add_pad_template (element_class,
-      gst_static_pad_template_get (&rtptemplate));
-
-  gst_element_class_set_details_simple (element_class, "SDP session setup",
-      "Codec/Demuxer/Network/RTP",
-      "Receive data over the network via SDP",
-      "Wim Taymans <wim.taymans@gmail.com>");
-}
+#define gst_sdp_demux_parent_class parent_class
+G_DEFINE_TYPE (GstSDPDemux, gst_sdp_demux, GST_TYPE_BIN);
 
 static void
 gst_sdp_demux_class_init (GstSDPDemuxClass * klass)
@@ -202,13 +180,25 @@ gst_sdp_demux_class_init (GstSDPDemuxClass * klass)
           DEFAULT_REDIRECT,
           G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
 
+  gst_element_class_add_pad_template (gstelement_class,
+      gst_static_pad_template_get (&sinktemplate));
+  gst_element_class_add_pad_template (gstelement_class,
+      gst_static_pad_template_get (&rtptemplate));
+
+  gst_element_class_set_details_simple (gstelement_class, "SDP session setup",
+      "Codec/Demuxer/Network/RTP",
+      "Receive data over the network via SDP",
+      "Wim Taymans <wim.taymans@gmail.com>");
+
   gstelement_class->change_state = gst_sdp_demux_change_state;
 
   gstbin_class->handle_message = gst_sdp_demux_handle_message;
+
+  GST_DEBUG_CATEGORY_INIT (sdpdemux_debug, "sdpdemux", 0, "SDP demux");
 }
 
 static void
-gst_sdp_demux_init (GstSDPDemux * demux, GstSDPDemuxClass * g_class)
+gst_sdp_demux_init (GstSDPDemux * demux)
 {
   demux->sinkpad = gst_pad_new_from_static_template (&sinktemplate, "sink");
   gst_pad_set_event_function (demux->sinkpad,
index 5df060c861973ad40d3b506f1c4876db7f1e3f9b..b7a99126d92f9fed02e092034e3914231516f7c0 100644 (file)
@@ -95,11 +95,11 @@ else
 ACM_DIR=
 endif
 
-if USE_VDPAU
-VDPAU_DIR=vdpau
-else
-VDPAU_DIR=
-endif
+#if USE_VDPAU
+#VDPAU_DIR=vdpau
+#else
+#VDPAU_DIR=
+#endif
 
 if USE_SHM
 SHM_DIR=shm
index e9346db6ab1868eab95c35b96078a49cd4a6d2d8..ca14206acc499f19b7eb50184b6d7a978c36917f 100644 (file)
 */
 //@@MIDL_FILE_HEADING(  )
 
-#pragma warning( disable: 4049 )  /* more than 64k source lines */
+#pragma warning( disable: 4049 )        /* more than 64k source lines */
 
 
 #ifdef __cplusplus
-extern "C"{
-#endif 
+extern "C"
+{
+#endif
 
 
 #include <rpc.h>
@@ -42,218 +43,277 @@ extern "C"{
 #define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
         DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
 
-#else // !_MIDL_USE_GUIDDEF_
+#else                           // !_MIDL_USE_GUIDDEF_
 
 #ifndef __IID_DEFINED__
 #define __IID_DEFINED__
 
-typedef struct _IID
-{
+  typedef struct _IID
+  {
     unsigned long x;
     unsigned short s1;
     unsigned short s2;
-    unsigned char  c[8];
-} IID;
+    unsigned char c[8];
+  } IID;
 
-#endif // __IID_DEFINED__
+#endif                          // __IID_DEFINED__
 
 #ifndef CLSID_DEFINED
 #define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
+  typedef IID CLSID;
+#endif                          // CLSID_DEFINED
 
 #define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
         const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
 
-#endif !_MIDL_USE_GUIDDEF_
+#endif                          /* !_MIDL_USE_GUIDDEF_ */
 
-MIDL_DEFINE_GUID(IID, LIBID_DeckLinkAPI,0xD864517A,0xEDD5,0x466D,0x86,0x7D,0xC8,0x19,0xF1,0xC0,0x52,0xBB);
+    MIDL_DEFINE_GUID (IID, LIBID_DeckLinkAPI, 0xD864517A, 0xEDD5, 0x466D, 0x86,
+      0x7D, 0xC8, 0x19, 0xF1, 0xC0, 0x52, 0xBB);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoOutputCallback,0x20AA5225,0x1958,0x47CB,0x82,0x0B,0x80,0xA8,0xD5,0x21,0xA6,0xEE);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoOutputCallback, 0x20AA5225, 0x1958,
+      0x47CB, 0x82, 0x0B, 0x80, 0xA8, 0xD5, 0x21, 0xA6, 0xEE);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback,0xDD04E5EC,0x7415,0x42AB,0xAE,0x4A,0xE8,0x0C,0x4D,0xFC,0x04,0x4A);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkInputCallback, 0xDD04E5EC, 0x7415,
+      0x42AB, 0xAE, 0x4A, 0xE8, 0x0C, 0x4D, 0xFC, 0x04, 0x4A);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkMemoryAllocator,0xB36EB6E7,0x9D29,0x4AA8,0x92,0xEF,0x84,0x3B,0x87,0xA2,0x89,0xE8);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkMemoryAllocator, 0xB36EB6E7, 0x9D29,
+      0x4AA8, 0x92, 0xEF, 0x84, 0x3B, 0x87, 0xA2, 0x89, 0xE8);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkAudioOutputCallback,0x403C681B,0x7F46,0x4A12,0xB9,0x93,0x2B,0xB1,0x27,0x08,0x4E,0xE6);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkAudioOutputCallback, 0x403C681B, 0x7F46,
+      0x4A12, 0xB9, 0x93, 0x2B, 0xB1, 0x27, 0x08, 0x4E, 0xE6);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkIterator,0x74E936FC,0xCC28,0x4A67,0x81,0xA0,0x1E,0x94,0xE5,0x2D,0x4E,0x69);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkIterator, 0x74E936FC, 0xCC28, 0x4A67,
+      0x81, 0xA0, 0x1E, 0x94, 0xE5, 0x2D, 0x4E, 0x69);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkAPIInformation,0x7BEA3C68,0x730D,0x4322,0xAF,0x34,0x8A,0x71,0x52,0xB5,0x32,0xA4);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkAPIInformation, 0x7BEA3C68, 0x730D,
+      0x4322, 0xAF, 0x34, 0x8A, 0x71, 0x52, 0xB5, 0x32, 0xA4);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayModeIterator,0x9C88499F,0xF601,0x4021,0xB8,0x0B,0x03,0x2E,0x4E,0xB4,0x1C,0x35);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkDisplayModeIterator, 0x9C88499F, 0xF601,
+      0x4021, 0xB8, 0x0B, 0x03, 0x2E, 0x4E, 0xB4, 0x1C, 0x35);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayMode,0x3EB2C1AB,0x0A3D,0x4523,0xA3,0xAD,0xF4,0x0D,0x7F,0xB1,0x4E,0x78);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkDisplayMode, 0x3EB2C1AB, 0x0A3D, 0x4523,
+      0xA3, 0xAD, 0xF4, 0x0D, 0x7F, 0xB1, 0x4E, 0x78);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLink,0x62BFF75D,0x6569,0x4E55,0x8D,0x4D,0x66,0xAA,0x03,0x82,0x9A,0xBC);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLink, 0x62BFF75D, 0x6569, 0x4E55, 0x8D,
+      0x4D, 0x66, 0xAA, 0x03, 0x82, 0x9A, 0xBC);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput,0xA3EF0963,0x0862,0x44ED,0x92,0xA9,0xEE,0x89,0xAB,0xF4,0x31,0xC7);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkOutput, 0xA3EF0963, 0x0862, 0x44ED,
+      0x92, 0xA9, 0xEE, 0x89, 0xAB, 0xF4, 0x31, 0xC7);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput,0x6D40EF78,0x28B9,0x4E21,0x99,0x0D,0x95,0xBB,0x77,0x50,0xA0,0x4F);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkInput, 0x6D40EF78, 0x28B9, 0x4E21, 0x99,
+      0x0D, 0x95, 0xBB, 0x77, 0x50, 0xA0, 0x4F);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkTimecode,0xBC6CFBD3,0x8317,0x4325,0xAC,0x1C,0x12,0x16,0x39,0x1E,0x93,0x40);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkTimecode, 0xBC6CFBD3, 0x8317, 0x4325,
+      0xAC, 0x1C, 0x12, 0x16, 0x39, 0x1E, 0x93, 0x40);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame,0x3F716FE0,0xF023,0x4111,0xBE,0x5D,0xEF,0x44,0x14,0xC0,0x5B,0x17);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoFrame, 0x3F716FE0, 0xF023, 0x4111,
+      0xBE, 0x5D, 0xEF, 0x44, 0x14, 0xC0, 0x5B, 0x17);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkMutableVideoFrame,0x69E2639F,0x40DA,0x4E19,0xB6,0xF2,0x20,0xAC,0xE8,0x15,0xC3,0x90);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkMutableVideoFrame, 0x69E2639F, 0x40DA,
+      0x4E19, 0xB6, 0xF2, 0x20, 0xAC, 0xE8, 0x15, 0xC3, 0x90);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame3DExtensions,0xDA0F7E4A,0xEDC7,0x48A8,0x9C,0xDD,0x2D,0xB5,0x1C,0x72,0x9C,0xD7);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoFrame3DExtensions, 0xDA0F7E4A,
+      0xEDC7, 0x48A8, 0x9C, 0xDD, 0x2D, 0xB5, 0x1C, 0x72, 0x9C, 0xD7);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame,0x05CFE374,0x537C,0x4094,0x9A,0x57,0x68,0x05,0x25,0x11,0x8F,0x44);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoInputFrame, 0x05CFE374, 0x537C,
+      0x4094, 0x9A, 0x57, 0x68, 0x05, 0x25, 0x11, 0x8F, 0x44);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrameAncillary,0x732E723C,0xD1A4,0x4E29,0x9E,0x8E,0x4A,0x88,0x79,0x7A,0x00,0x04);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoFrameAncillary, 0x732E723C, 0xD1A4,
+      0x4E29, 0x9E, 0x8E, 0x4A, 0x88, 0x79, 0x7A, 0x00, 0x04);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkAudioInputPacket,0xE43D5870,0x2894,0x11DE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkAudioInputPacket, 0xE43D5870, 0x2894,
+      0x11DE, 0x8C, 0x30, 0x08, 0x00, 0x20, 0x0C, 0x9A, 0x66);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkScreenPreviewCallback,0xB1D3F49A,0x85FE,0x4C5D,0x95,0xC8,0x0B,0x5D,0x5D,0xCC,0xD4,0x38);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkScreenPreviewCallback, 0xB1D3F49A,
+      0x85FE, 0x4C5D, 0x95, 0xC8, 0x0B, 0x5D, 0x5D, 0xCC, 0xD4, 0x38);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkGLScreenPreviewHelper,0x504E2209,0xCAC7,0x4C1A,0x9F,0xB4,0xC5,0xBB,0x62,0x74,0xD2,0x2F);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkGLScreenPreviewHelper, 0x504E2209,
+      0xCAC7, 0x4C1A, 0x9F, 0xB4, 0xC5, 0xBB, 0x62, 0x74, 0xD2, 0x2F);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration,0xC679A35B,0x610C,0x4D09,0xB7,0x48,0x1D,0x04,0x78,0x10,0x0F,0xC0);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkConfiguration, 0xC679A35B, 0x610C,
+      0x4D09, 0xB7, 0x48, 0x1D, 0x04, 0x78, 0x10, 0x0F, 0xC0);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkAttributes,0xABC11843,0xD966,0x44CB,0x96,0xE2,0xA1,0xCB,0x5D,0x31,0x35,0xC4);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkAttributes, 0xABC11843, 0xD966, 0x44CB,
+      0x96, 0xE2, 0xA1, 0xCB, 0x5D, 0x31, 0x35, 0xC4);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkKeyer,0x89AFCAF5,0x65F8,0x421E,0x98,0xF7,0x96,0xFE,0x5F,0x5B,0xFB,0xA3);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkKeyer, 0x89AFCAF5, 0x65F8, 0x421E, 0x98,
+      0xF7, 0x96, 0xFE, 0x5F, 0x5B, 0xFB, 0xA3);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoConversion,0x3BBCB8A2,0xDA2C,0x42D9,0xB5,0xD8,0x88,0x08,0x36,0x44,0xE9,0x9A);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoConversion, 0x3BBCB8A2, 0xDA2C,
+      0x42D9, 0xB5, 0xD8, 0x88, 0x08, 0x36, 0x44, 0xE9, 0x9A);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkDeckControlStatusCallback,0xE5F693C1,0x4283,0x4716,0xB1,0x8F,0xC1,0x43,0x15,0x21,0x95,0x5B);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkDeckControlStatusCallback, 0xE5F693C1,
+      0x4283, 0x4716, 0xB1, 0x8F, 0xC1, 0x43, 0x15, 0x21, 0x95, 0x5B);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkDeckControl,0x522A9E39,0x0F3C,0x4742,0x94,0xEE,0xD8,0x0D,0xE3,0x35,0xDA,0x1D);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkDeckControl, 0x522A9E39, 0x0F3C, 0x4742,
+      0x94, 0xEE, 0xD8, 0x0D, 0xE3, 0x35, 0xDA, 0x1D);
 
 
-MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkIterator,0xD9EDA3B3,0x2887,0x41FA,0xB7,0x24,0x01,0x7C,0xF1,0xEB,0x1D,0x37);
+    MIDL_DEFINE_GUID (CLSID, CLSID_CDeckLinkIterator, 0xD9EDA3B3, 0x2887,
+      0x41FA, 0xB7, 0x24, 0x01, 0x7C, 0xF1, 0xEB, 0x1D, 0x37);
 
 
-MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkAPIInformation,0x263CA19F,0xED09,0x482E,0x9F,0x9D,0x84,0x00,0x57,0x83,0xA2,0x37);
+    MIDL_DEFINE_GUID (CLSID, CLSID_CDeckLinkAPIInformation, 0x263CA19F, 0xED09,
+      0x482E, 0x9F, 0x9D, 0x84, 0x00, 0x57, 0x83, 0xA2, 0x37);
 
 
-MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkGLScreenPreviewHelper,0xF63E77C7,0xB655,0x4A4A,0x9A,0xD0,0x3C,0xA8,0x5D,0x39,0x43,0x43);
+    MIDL_DEFINE_GUID (CLSID, CLSID_CDeckLinkGLScreenPreviewHelper, 0xF63E77C7,
+      0xB655, 0x4A4A, 0x9A, 0xD0, 0x3C, 0xA8, 0x5D, 0x39, 0x43, 0x43);
 
 
-MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkVideoConversion,0x7DBBBB11,0x5B7B,0x467D,0xAE,0xA4,0xCE,0xA4,0x68,0xFD,0x36,0x8C);
+    MIDL_DEFINE_GUID (CLSID, CLSID_CDeckLinkVideoConversion, 0x7DBBBB11, 0x5B7B,
+      0x467D, 0xAE, 0xA4, 0xCE, 0xA4, 0x68, 0xFD, 0x36, 0x8C);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkDeckControl_v7_9,0xA4D81043,0x0619,0x42B7,0x8E,0xD6,0x60,0x2D,0x29,0x04,0x1D,0xF7);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkDeckControl_v7_9, 0xA4D81043, 0x0619,
+      0x42B7, 0x8E, 0xD6, 0x60, 0x2D, 0x29, 0x04, 0x1D, 0xF7);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayModeIterator_v7_6,0x455D741F,0x1779,0x4800,0x86,0xF5,0x0B,0x5D,0x13,0xD7,0x97,0x51);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkDisplayModeIterator_v7_6, 0x455D741F,
+      0x1779, 0x4800, 0x86, 0xF5, 0x0B, 0x5D, 0x13, 0xD7, 0x97, 0x51);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayMode_v7_6,0x87451E84,0x2B7E,0x439E,0xA6,0x29,0x43,0x93,0xEA,0x4A,0x85,0x50);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkDisplayMode_v7_6, 0x87451E84, 0x2B7E,
+      0x439E, 0xA6, 0x29, 0x43, 0x93, 0xEA, 0x4A, 0x85, 0x50);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v7_6,0x29228142,0xEB8C,0x4141,0xA6,0x21,0xF7,0x40,0x26,0x45,0x09,0x55);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkOutput_v7_6, 0x29228142, 0xEB8C, 0x4141,
+      0xA6, 0x21, 0xF7, 0x40, 0x26, 0x45, 0x09, 0x55);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v7_6,0x300C135A,0x9F43,0x48E2,0x99,0x06,0x6D,0x79,0x11,0xD9,0x3C,0xF1);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkInput_v7_6, 0x300C135A, 0x9F43, 0x48E2,
+      0x99, 0x06, 0x6D, 0x79, 0x11, 0xD9, 0x3C, 0xF1);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkTimecode_v7_6,0xEFB9BCA6,0xA521,0x44F7,0xBD,0x69,0x23,0x32,0xF2,0x4D,0x9E,0xE6);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkTimecode_v7_6, 0xEFB9BCA6, 0xA521,
+      0x44F7, 0xBD, 0x69, 0x23, 0x32, 0xF2, 0x4D, 0x9E, 0xE6);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame_v7_6,0xA8D8238E,0x6B18,0x4196,0x99,0xE1,0x5A,0xF7,0x17,0xB8,0x3D,0x32);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoFrame_v7_6, 0xA8D8238E, 0x6B18,
+      0x4196, 0x99, 0xE1, 0x5A, 0xF7, 0x17, 0xB8, 0x3D, 0x32);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkMutableVideoFrame_v7_6,0x46FCEE00,0xB4E6,0x43D0,0x91,0xC0,0x02,0x3A,0x7F,0xCE,0xB3,0x4F);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkMutableVideoFrame_v7_6, 0x46FCEE00,
+      0xB4E6, 0x43D0, 0x91, 0xC0, 0x02, 0x3A, 0x7F, 0xCE, 0xB3, 0x4F);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame_v7_6,0x9A74FA41,0xAE9F,0x47AC,0x8C,0xF4,0x01,0xF4,0x2D,0xD5,0x99,0x65);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoInputFrame_v7_6, 0x9A74FA41,
+      0xAE9F, 0x47AC, 0x8C, 0xF4, 0x01, 0xF4, 0x2D, 0xD5, 0x99, 0x65);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkScreenPreviewCallback_v7_6,0x373F499D,0x4B4D,0x4518,0xAD,0x22,0x63,0x54,0xE5,0xA5,0x82,0x5E);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkScreenPreviewCallback_v7_6, 0x373F499D,
+      0x4B4D, 0x4518, 0xAD, 0x22, 0x63, 0x54, 0xE5, 0xA5, 0x82, 0x5E);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkGLScreenPreviewHelper_v7_6,0xBA575CD9,0xA15E,0x497B,0xB2,0xC2,0xF9,0xAF,0xE7,0xBE,0x4E,0xBA);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkGLScreenPreviewHelper_v7_6, 0xBA575CD9,
+      0xA15E, 0x497B, 0xB2, 0xC2, 0xF9, 0xAF, 0xE7, 0xBE, 0x4E, 0xBA);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoConversion_v7_6,0x3EB504C9,0xF97D,0x40FE,0xA1,0x58,0xD4,0x07,0xD4,0x8C,0xB5,0x3B);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoConversion_v7_6, 0x3EB504C9,
+      0xF97D, 0x40FE, 0xA1, 0x58, 0xD4, 0x07, 0xD4, 0x8C, 0xB5, 0x3B);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkConfiguration_v7_6,0xB8EAD569,0xB764,0x47F0,0xA7,0x3F,0xAE,0x40,0xDF,0x6C,0xBF,0x10);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkConfiguration_v7_6, 0xB8EAD569, 0xB764,
+      0x47F0, 0xA7, 0x3F, 0xAE, 0x40, 0xDF, 0x6C, 0xBF, 0x10);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoOutputCallback_v7_6,0xE763A626,0x4A3C,0x49D1,0xBF,0x13,0xE7,0xAD,0x36,0x92,0xAE,0x52);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoOutputCallback_v7_6, 0xE763A626,
+      0x4A3C, 0x49D1, 0xBF, 0x13, 0xE7, 0xAD, 0x36, 0x92, 0xAE, 0x52);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback_v7_6,0x31D28EE7,0x88B6,0x4CB1,0x89,0x7A,0xCD,0xBF,0x79,0xA2,0x64,0x14);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkInputCallback_v7_6, 0x31D28EE7, 0x88B6,
+      0x4CB1, 0x89, 0x7A, 0xCD, 0xBF, 0x79, 0xA2, 0x64, 0x14);
 
 
-MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkGLScreenPreviewHelper_v7_6,0xD398CEE7,0x4434,0x4CA3,0x9B,0xA6,0x5A,0xE3,0x45,0x56,0xB9,0x05);
+    MIDL_DEFINE_GUID (CLSID, CLSID_CDeckLinkGLScreenPreviewHelper_v7_6,
+      0xD398CEE7, 0x4434, 0x4CA3, 0x9B, 0xA6, 0x5A, 0xE3, 0x45, 0x56, 0xB9,
+      0x05);
 
 
-MIDL_DEFINE_GUID(CLSID, CLSID_CDeckLinkVideoConversion_v7_6,0xFFA84F77,0x73BE,0x4FB7,0xB0,0x3E,0xB5,0xE4,0x4B,0x9F,0x75,0x9B);
+    MIDL_DEFINE_GUID (CLSID, CLSID_CDeckLinkVideoConversion_v7_6, 0xFFA84F77,
+      0x73BE, 0x4FB7, 0xB0, 0x3E, 0xB5, 0xE4, 0x4B, 0x9F, 0x75, 0x9B);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback_v7_3,0xFD6F311D,0x4D00,0x444B,0x9E,0xD4,0x1F,0x25,0xB5,0x73,0x0A,0xD0);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkInputCallback_v7_3, 0xFD6F311D, 0x4D00,
+      0x444B, 0x9E, 0xD4, 0x1F, 0x25, 0xB5, 0x73, 0x0A, 0xD0);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v7_3,0x271C65E3,0xC323,0x4344,0xA3,0x0F,0xD9,0x08,0xBC,0xB2,0x0A,0xA3);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkOutput_v7_3, 0x271C65E3, 0xC323, 0x4344,
+      0xA3, 0x0F, 0xD9, 0x08, 0xBC, 0xB2, 0x0A, 0xA3);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v7_3,0x4973F012,0x9925,0x458C,0x87,0x1C,0x18,0x77,0x4C,0xDB,0xBE,0xCB);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkInput_v7_3, 0x4973F012, 0x9925, 0x458C,
+      0x87, 0x1C, 0x18, 0x77, 0x4C, 0xDB, 0xBE, 0xCB);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame_v7_3,0xCF317790,0x2894,0x11DE,0x8C,0x30,0x08,0x00,0x20,0x0C,0x9A,0x66);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoInputFrame_v7_3, 0xCF317790,
+      0x2894, 0x11DE, 0x8C, 0x30, 0x08, 0x00, 0x20, 0x0C, 0x9A, 0x66);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayModeIterator_v7_1,0xB28131B6,0x59AC,0x4857,0xB5,0xAC,0xCD,0x75,0xD5,0x88,0x3E,0x2F);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkDisplayModeIterator_v7_1, 0xB28131B6,
+      0x59AC, 0x4857, 0xB5, 0xAC, 0xCD, 0x75, 0xD5, 0x88, 0x3E, 0x2F);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkDisplayMode_v7_1,0xAF0CD6D5,0x8376,0x435E,0x84,0x33,0x54,0xF9,0xDD,0x53,0x0A,0xC3);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkDisplayMode_v7_1, 0xAF0CD6D5, 0x8376,
+      0x435E, 0x84, 0x33, 0x54, 0xF9, 0xDD, 0x53, 0x0A, 0xC3);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoFrame_v7_1,0x333F3A10,0x8C2D,0x43CF,0xB7,0x9D,0x46,0x56,0x0F,0xEE,0xA1,0xCE);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoFrame_v7_1, 0x333F3A10, 0x8C2D,
+      0x43CF, 0xB7, 0x9D, 0x46, 0x56, 0x0F, 0xEE, 0xA1, 0xCE);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoInputFrame_v7_1,0xC8B41D95,0x8848,0x40EE,0x9B,0x37,0x6E,0x34,0x17,0xFB,0x11,0x4B);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoInputFrame_v7_1, 0xC8B41D95,
+      0x8848, 0x40EE, 0x9B, 0x37, 0x6E, 0x34, 0x17, 0xFB, 0x11, 0x4B);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkAudioInputPacket_v7_1,0xC86DE4F6,0xA29F,0x42E3,0xAB,0x3A,0x13,0x63,0xE2,0x9F,0x07,0x88);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkAudioInputPacket_v7_1, 0xC86DE4F6,
+      0xA29F, 0x42E3, 0xAB, 0x3A, 0x13, 0x63, 0xE2, 0x9F, 0x07, 0x88);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkVideoOutputCallback_v7_1,0xEBD01AFA,0xE4B0,0x49C6,0xA0,0x1D,0xED,0xB9,0xD1,0xB5,0x5F,0xD9);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkVideoOutputCallback_v7_1, 0xEBD01AFA,
+      0xE4B0, 0x49C6, 0xA0, 0x1D, 0xED, 0xB9, 0xD1, 0xB5, 0x5F, 0xD9);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkInputCallback_v7_1,0x7F94F328,0x5ED4,0x4E9F,0x97,0x29,0x76,0xA8,0x6B,0xDC,0x99,0xCC);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkInputCallback_v7_1, 0x7F94F328, 0x5ED4,
+      0x4E9F, 0x97, 0x29, 0x76, 0xA8, 0x6B, 0xDC, 0x99, 0xCC);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkOutput_v7_1,0xAE5B3E9B,0x4E1E,0x4535,0xB6,0xE8,0x48,0x0F,0xF5,0x2F,0x6C,0xE5);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkOutput_v7_1, 0xAE5B3E9B, 0x4E1E, 0x4535,
+      0xB6, 0xE8, 0x48, 0x0F, 0xF5, 0x2F, 0x6C, 0xE5);
 
 
-MIDL_DEFINE_GUID(IID, IID_IDeckLinkInput_v7_1,0x2B54EDEF,0x5B32,0x429F,0xBA,0x11,0xBB,0x99,0x05,0x96,0xEA,0xCD);
+    MIDL_DEFINE_GUID (IID, IID_IDeckLinkInput_v7_1, 0x2B54EDEF, 0x5B32, 0x429F,
+      0xBA, 0x11, 0xBB, 0x99, 0x05, 0x96, 0xEA, 0xCD);
 
 #undef MIDL_DEFINE_GUID
 
 #ifdef __cplusplus
 }
 #endif
-
-
-
index 6de7b12a3e5a3affac65a5745751f79bab131069..b2d3aef2c553a924c06758278bd6da85c742360c 100644 (file)
@@ -156,8 +156,8 @@ set_properties_for_channel (GObject * dvbbasebin, const gchar * channel_name)
     guint major, minor, micro, nano;
 
     gst_version (&major, &minor, &micro, &nano);
-    filename = g_strdup_printf ("%s/.gstreamer-%d.%d/dvb-channels.conf",
-        g_get_home_dir (), major, minor);
+    filename = g_strdup_printf ("%s/gstreamer-%d.%d/dvb-channels.conf",
+        g_get_user_config_dir (), major, minor);
   }
   channels = parse_channels_conf_from_file (filename);
   g_free (filename);
index 5a29c47df009ee1fd883bf172bd46b58a345204a..32f8e1d43657144877c1818ad28900c73a1004c5 100644 (file)
@@ -747,7 +747,8 @@ process_buffer_cb (ComponentInstance inAudioConverter,
     return noErr;
   }
 
-  GST_LOG_OBJECT (qtwrapper, "No remaining input data, returning NO_MORE_INPUT_DATA");
+  GST_LOG_OBJECT (qtwrapper,
+      "No remaining input data, returning NO_MORE_INPUT_DATA");
 
   return NO_MORE_INPUT_DATA;
 }
index 16f0ed2877287946b1a432c819b825d269dd7b0c..dd84f004bb7df8ab93be2abe4b48a6aeec620acb 100644 (file)
@@ -6,7 +6,7 @@
 #undef ENABLE_NLS
 
 /* gettext package name */
-#define GETTEXT_PACKAGE "gst-plugins-bad-0.10"
+#define GETTEXT_PACKAGE "gst-plugins-bad-0.11"
 
 /* PREFIX - specifically added for Windows for easier moving */
 #define PREFIX "C:\\gstreamer"
 #undef USE_POISONING
 
 /* Version number of package */
-#define VERSION "0.10.22.1"
+#define VERSION "0.11.0.1"
 
 /* Define to 1 if your processor stores words with the most significant byte
    first (like Motorola and SPARC, unlike Intel and VAX). */