From 5bf86a8728c201ecf628c4e4df47a54e95840ae0 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 22 Mar 2012 15:52:37 +0100 Subject: [PATCH] Release 0.11.2 --- ChangeLog | 577 ++- NEWS | 25 +- RELEASE | 90 +- configure.ac | 6 +- docs/plugins/gst-plugins-bad-plugins.args | 114 +- docs/plugins/gst-plugins-bad-plugins.hierarchy | 18 + docs/plugins/gst-plugins-bad-plugins.interfaces | 1 + docs/plugins/inspect/plugin-adpcmdec.xml | 2 +- docs/plugins/inspect/plugin-adpcmenc.xml | 2 +- docs/plugins/inspect/plugin-assrender.xml | 2 +- docs/plugins/inspect/plugin-audiovisualizers.xml | 2 +- docs/plugins/inspect/plugin-autoconvert.xml | 2 +- docs/plugins/inspect/plugin-bayer.xml | 10 +- docs/plugins/inspect/plugin-bz2.xml | 4 +- docs/plugins/inspect/plugin-camerabin2.xml | 4 +- docs/plugins/inspect/plugin-celt.xml | 8 +- docs/plugins/inspect/plugin-dataurisrc.xml | 2 +- docs/plugins/inspect/plugin-debugutilsbad.xml | 2 +- docs/plugins/inspect/plugin-dtmf.xml | 2 +- docs/plugins/inspect/plugin-dtsdec.xml | 2 +- docs/plugins/inspect/plugin-dvbsuboverlay.xml | 2 +- docs/plugins/inspect/plugin-dvdspu.xml | 2 +- docs/plugins/inspect/plugin-faac.xml | 2 +- docs/plugins/inspect/plugin-faad.xml | 2 +- docs/plugins/inspect/plugin-gsm.xml | 2 +- docs/plugins/inspect/plugin-mms.xml | 2 +- docs/plugins/inspect/plugin-modplug.xml | 2 +- docs/plugins/inspect/plugin-mpeg2enc.xml | 2 +- docs/plugins/inspect/plugin-mpegdemux2.xml | 2 +- docs/plugins/inspect/plugin-mpegtsdemux.xml | 2 +- docs/plugins/inspect/plugin-mplex.xml | 4 +- docs/plugins/inspect/plugin-pcapparse.xml | 2 +- docs/plugins/inspect/plugin-rawparse.xml | 8 +- docs/plugins/inspect/plugin-rtpmux.xml | 2 +- docs/plugins/inspect/plugin-rtpvp8.xml | 2 +- docs/plugins/inspect/plugin-scaletempo.xml | 6 +- docs/plugins/inspect/plugin-schro.xml | 8 +- docs/plugins/inspect/plugin-sdp.xml | 2 +- docs/plugins/inspect/plugin-segmentclip.xml | 12 +- docs/plugins/inspect/plugin-shm.xml | 4 +- docs/plugins/inspect/plugin-videoparsersbad.xml | 2 +- docs/plugins/inspect/plugin-vp8.xml | 2 +- docs/plugins/inspect/plugin-y4mdec.xml | 2 +- ext/cog/gstcogorc-dist.c | 4811 +++++++++++++++------- ext/cog/gstcogorc-dist.h | 158 +- gst-plugins-bad.doap | 11 + gst/fieldanalysis/gstfieldanalysisorc-dist.c | 551 +-- gst/fieldanalysis/gstfieldanalysisorc-dist.h | 20 +- po/af.po | 2 +- po/az.po | 2 +- po/bg.po | 2 +- po/ca.po | 2 +- po/cs.po | 2 +- po/da.po | 2 +- po/de.po | 2 +- po/el.po | 2 +- po/en_GB.po | 2 +- po/eo.po | 2 +- po/es.po | 2 +- po/eu.po | 2 +- po/fi.po | 2 +- po/fr.po | 2 +- po/gl.po | 2 +- po/hu.po | 2 +- po/id.po | 2 +- po/it.po | 2 +- po/ja.po | 2 +- po/ky.po | 2 +- po/lt.po | 2 +- po/lv.po | 2 +- po/mt.po | 2 +- po/nb.po | 2 +- po/nl.po | 2 +- po/or.po | 2 +- po/pl.po | 2 +- po/pt_BR.po | 2 +- po/ro.po | 2 +- po/ru.po | 2 +- po/sk.po | 2 +- po/sl.po | 2 +- po/sq.po | 2 +- po/sr.po | 2 +- po/sv.po | 2 +- po/tr.po | 2 +- po/uk.po | 2 +- po/vi.po | 2 +- po/zh_CN.po | 2 +- win32/common/config.h | 4 +- 88 files changed, 4460 insertions(+), 2124 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3ddef2a..67fa9af 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,582 @@ +=== release 0.11.2 === + +2012-03-22 Wim Taymans + + * configure.ac: + releasing 0.11.2, "Crossthreaded" + +2012-03-21 13:23:42 +0100 Wim Taymans + + * tests/check/elements/h264parse.c: + * tests/check/elements/jpegparse.c: + * tests/check/elements/mxfdemux.c: + tests: update for memory api changes + +2012-03-21 09:41:08 +0100 Wim Taymans + + * gst/rawparse/gstvideoparse.c: + rawparse: fix bayer caps + +2012-03-20 20:21:42 +0100 Mark Nauwelaerts + + * configure.ac: + * sys/shm/gstshmsink.c: + * sys/shm/gstshmsrc.c: + shm: port to 0.11 + +2012-03-20 20:21:37 +0100 Mark Nauwelaerts + + * configure.ac: + * gst/rawparse/gstaudioparse.c: + * gst/rawparse/gstaudioparse.h: + * gst/rawparse/gstrawparse.c: + * gst/rawparse/gstrawparse.h: + * gst/rawparse/gstvideoparse.c: + rawparse: port to 0.11 + +2012-03-20 16:44:17 +0100 Wim Taymans + + * ext/faad/gstfaad.c: + faad: add some channel map debug + +2012-03-20 16:34:33 +0100 Wim Taymans + + * ext/faad/gstfaad.c: + * ext/faad/gstfaad.h: + faad: optimize channel remap, avoid potential memcpy + Combine the channel remap and copy in one operation. Calculate the channel remap + table only once, make a shortcut when we are not doing any remapping. + +2012-03-20 15:38:33 +0100 Wim Taymans + + * gst/fieldanalysis/gstfieldanalysis.c: + * gst/fieldanalysis/gstfieldanalysisorc.orc: + orc: don't compile everything at startup + +2012-03-18 18:33:00 +0100 Mark Nauwelaerts + + * ext/gme/Makefile.am: + * ext/gme/gstgme.c: + gme: use new style audio caps + Also do not pretend to negotiate output caps when there + is not much in output to begin with. + +2012-03-18 18:32:55 +0100 Mark Nauwelaerts + + * configure.ac: + * gst/scaletempo/Makefile.am: + * gst/scaletempo/gstscaletempo.c: + scaletempo: port to 0.11 + +2012-03-18 18:32:51 +0100 Mark Nauwelaerts + + * configure.ac: + * gst/smooth/gstsmooth.c: + smooth: port to 0.11 + +2012-03-18 18:32:46 +0100 Mark Nauwelaerts + + * configure.ac: + * gst/segmentclip/gstaudiosegmentclip.c: + * gst/segmentclip/gstsegmentclip.c: + * gst/segmentclip/gstvideosegmentclip.c: + segmentclip: port to 0.11 + +2012-03-18 18:32:41 +0100 Mark Nauwelaerts + + * configure.ac: + * ext/bz2/gstbz2dec.c: + * ext/bz2/gstbz2enc.c: + bz2: port to 0.11 + +2012-03-18 18:32:36 +0100 Mark Nauwelaerts + + * configure.ac: + * gst/removesilence/Makefile.am: + * gst/removesilence/gstremovesilence.c: + removesilence: port to 0.11 + +2012-03-18 01:18:26 +0000 Tim-Philipp Müller + + * ext/zbar/gstzbar.c: + zbar: fix build after base transform changes + +2012-03-16 21:47:39 +0100 Wim Taymans + + * ext/timidity/gsttimidity.c: + * ext/timidity/gstwildmidi.c: + * gst-libs/gst/signalprocessor/gstsignalprocessor.c: + * gst/asfmux/gstasfparse.c: + * gst/cdxaparse/gstcdxaparse.c: + * gst/mpegdemux/gstmpegdemux.c: + * gst/mpegtsdemux/mpegtsbase.c: + * gst/mpegtsdemux/tsdemux.c: + * gst/mxf/mxfdemux.c: + * gst/nuvdemux/gstnuvdemux.c: + * gst/rawparse/gstrawparse.c: + don't pass random pointers to pull_range + +2012-03-15 22:11:32 +0100 Wim Taymans + + * gst-libs/gst/video/gstbasevideodecoder.c: + * gst/audiovisualizers/gstbaseaudiovisualizer.c: + update for bufferpool changes + +2012-03-15 20:38:27 +0100 Wim Taymans + + * gst-libs/gst/video/gstbasevideodecoder.c: + * gst/audiovisualizers/gstbaseaudiovisualizer.c: + update for allocation query changes + +2012-03-15 14:08:29 +0100 Wim Taymans + + * sys/pvr2d/gstpvrbufferpool.c: + update for bufferpool api change + +2012-03-15 13:37:36 +0100 Wim Taymans + + * ext/faad/gstfaad.c: + * ext/kate/gstkateenc.c: + * ext/modplug/gstmodplug.cc: + * ext/rtmp/gstrtmpsrc.c: + * gst-libs/gst/signalprocessor/gstsignalprocessor.c: + * gst/dtmf/gstdtmfsrc.c: + * gst/dtmf/gstrtpdtmfdepay.c: + * gst/jpegformat/gstjifmux.c: + * gst/mpegdemux/gstpesfilter.c: + * gst/videoparsers/gsth264parse.c: + * sys/pvr2d/gstpvrbufferpool.c: + * sys/pvr2d/gstpvrbufferpool.h: + * tests/check/elements/schroenc.c: + update for memory api changes + +2012-03-14 19:52:31 +0100 Wim Taymans + + * gst-libs/gst/video/gstbasevideodecoder.c: + * gst/audiovisualizers/gstbaseaudiovisualizer.c: + take padding into account + +2012-03-14 17:48:40 +0100 Mark Nauwelaerts + + * ext/mpeg2enc/gstmpeg2enc.cc: + mpeg2enc: also clear initialized mutex and cond + +2012-03-14 11:20:18 +0100 Mark Nauwelaerts + + * ext/flite/gstflitetestsrc.c: + flite: adjust to some modified caps related API changes + +2012-03-13 13:02:54 +0200 Sreerenj Balachandran + + * configure.ac: + configure.ac: move spc plugin to NON_PORTED list(Fix build error) + +2012-03-13 09:54:14 +0100 Wim Taymans + + * ext/resindvd/rsndec.c: + use gst_caps_merge instead of gst_caps_union + +2012-03-12 17:06:11 +0100 Wim Taymans + + * ext/opus/gstopusdec.c: + opusdec: fix for caps api change + +2012-03-12 16:51:19 +0200 Sreerenj Balachandran + + * configure.ac: + configure.ac: bump GLib requirement to 2.31.14 + Fixes https://bugzilla.gnome.org/show_bug.cgi?id=671911 + +2012-03-12 12:23:34 +0100 Wim Taymans + + * ext/jp2k/gstjasperdec.c: + * sys/d3dvideosink/d3dvideosink.c: + * tests/check/pipelines/colorspace.c: + fix for caps _normalize changes + +2012-03-12 11:40:20 +0100 Wim Taymans + + * tests/check/pipelines/colorspace.c: + tests: fix for caps API change + +2012-03-12 10:44:22 +0100 Wim Taymans + + * ext/cog/gstcogcolorspace.c: + * tests/check/pipelines/colorspace.c: + fix for _do_simplify changes + +2012-03-11 19:06:59 +0100 Wim Taymans + + * ext/assrender/gstassrender.c: + * ext/modplug/gstmodplug.cc: + * gst-libs/gst/video/gstbasevideoencoder.c: + * gst/audiovisualizers/gstbaseaudiovisualizer.c: + * gst/autoconvert/gstautoconvert.c: + * gst/dtmf/gstdtmfsrc.c: + * gst/dtmf/gstrtpdtmfsrc.c: + * gst/dvbsuboverlay/gstdvbsuboverlay.c: + * gst/dvdspu/gstdvdspu.c: + * gst/rtpmux/gstrtpmux.c: + * gst/videoparsers/gsth264parse.c: + * tests/check/pipelines/colorspace.c: + fix for caps api changes + +2012-03-08 11:32:27 +0100 Wim Taymans + + * tests/check/elements/autovideoconvert.c: + * tests/check/elements/camerabin2.c: + * tests/check/elements/opus.c: + tests: fix more caps + +2012-03-07 17:14:29 +0100 Mark Nauwelaerts + + * configure.ac: + * ext/opus/gstopuscommon.c: + * ext/opus/gstopuscommon.h: + * ext/opus/gstopusdec.c: + * ext/opus/gstopusdec.h: + * ext/opus/gstopusenc.c: + * ext/opus/gstopusheader.c: + * ext/opus/gstopusparse.c: + * ext/opus/gstrtpopuspay.c: + opus: port to updated 0.11 + +2012-03-07 10:18:31 +0100 Mark Nauwelaerts + + * configure.ac: + * ext/celt/gstceltdec.c: + * ext/celt/gstceltenc.c: + celt: port to 0.11 + +2012-03-05 12:43:42 +0100 Wim Taymans + + * gst/bayer/gstbayer2rgb.c: + * gst/bayer/gstrgb2bayer.c: + x-raw-bayer -> x-bayer + +2012-03-05 12:03:23 +0100 Wim Taymans + + * ext/mplex/Makefile.am: + * ext/mplex/gstmplex.cc: + * gst/camerabin2/gstviewfinderbin.c: + use new style caps + +2012-03-03 19:03:11 +0100 Alessandro Decina + + * sys/applemedia/Makefile.am: + * sys/applemedia/bufferfactory.m: + * sys/applemedia/corevideobuffer.c: + * sys/applemedia/corevideobuffer.h: + * sys/applemedia/plugin.m: + * sys/applemedia/vtdec.c: + * sys/applemedia/vtdec.h: + applemedia: port vtdec + +2012-03-03 18:57:07 +0100 Alessandro Decina + + * sys/applemedia/cmapi.h: + applemedia: update signature of CMSampleBufferCreate and CMBlockBufferCreateWithMemoryBlock + Change data type for counters passed on the stack from UInt32 to size_t. Fixes + 64bit builds. + +2012-03-02 08:13:10 +0100 Alessandro Decina + + * sys/applemedia/cmapi.h: + applemedia: update format description helper signature + Update the FigVideoFormatDescriptionCreateWithSampleDescriptionExtensionAtom + signature to match the implementation on OSX Lion. + +2012-02-29 17:26:28 +0100 Wim Taymans + + * gst-libs/gst/video/gstbasevideodecoder.c: + * gst-libs/gst/video/gstsurfacemeta.c: + * gst-libs/gst/video/gstsurfacemeta.h: + update for metadata API changes + +2012-02-28 11:39:18 +0100 Wim Taymans + + * gst-libs/gst/video/gstsurfacemeta.c: + update for metadata tags + +2012-02-28 08:13:04 +0100 Alessandro Decina + + * configure.ac: + * sys/applemedia/Makefile.am: + * sys/applemedia/coremediabuffer.c: + * sys/applemedia/coremediabuffer.h: + * sys/applemedia/corevideobuffer.c: + * sys/applemedia/corevideobuffer.h: + * sys/applemedia/plugin.m: + * sys/applemedia/qtkitvideosrc.m: + applemedia: port qtkitvideosrc + +2012-02-27 13:13:14 +0100 Wim Taymans + + * ext/celt/gstceltenc.c: + * ext/opus/gstopusenc.c: + audioencoders: chain up to parent event handler + +2012-02-26 20:43:32 +0100 Alessandro Decina + + * gst/adpcmdec/Makefile.am: + adpcmdec: link to libgstbase + +2012-02-24 12:53:52 +0100 Wim Taymans + + * gst/dataurisrc/gstdataurisrc.c: + * tests/check/elements/dataurisrc.c: + dataurisrc: fix docs and unit test + +2012-02-24 10:26:44 +0100 Wim Taymans + + * gst-libs/gst/video/gstsurfacemeta.c: + update for metadata changes + +2012-02-24 10:21:31 +0100 Wim Taymans + + * tests/check/elements/mxfmux.c: + * tests/check/pipelines/mxf.c: + tests: fix some caps + +2012-02-22 15:41:42 +0100 Wim Taymans + + * tests/check/elements/schroenc.c: + test: port schroenc unit test + +2012-02-22 11:44:23 +0100 Edward Hervey + + * configure.ac: + * ext/schroedinger/gstschrodec.c: + * ext/schroedinger/gstschroenc.c: + * ext/schroedinger/gstschroutils.c: + * ext/schroedinger/gstschroutils.h: + schro: Port to 0.11 + Works with some sample files. There seems to be some timestamping issue though, + but the 0.10 version also complains about that too. + +2012-02-22 02:06:38 +0100 Wim Taymans + + * gst/audiovisualizers/gstbaseaudiovisualizer.c: + update for new memory api + +2012-02-21 16:53:37 +0100 Edward Hervey + + * docs/libs/gst-plugins-bad-libs-sections.txt: + * gst-libs/gst/video/gstbasevideocodec.c: + video: More documentation + +2012-02-21 16:52:49 +0100 Edward Hervey + + * gst-libs/gst/video/gstbasevideocodec.h: + basevideocodec: Document structures + +2012-02-21 10:06:16 +0100 Wim Taymans + + Merge branch 'master' into 0.11 + Conflicts: + gst/colorspace/colorspace.c + +2012-02-20 20:11:13 -0800 David Schleef + + * gst/colorspace/colorspace.c: + colorspace: Fix v210 writing out of bounds + +2012-02-20 18:43:51 -0800 David Schleef + + * ext/schroedinger/gstschroenc.c: + schroenc: remove GST_ERROR + +2012-02-20 11:42:23 -0800 David Schleef + + * tools/gst-project-maker: + gst-project-maker: Create tools, pass make distcheck + Create a tools directory for an application. Add source code + stubs to allow the project to compile and pass make distcheck. + Add notes in source code to tell the user how to create plugin + or app code using the other -maker scripts. + +2012-01-26 06:58:46 -0500 Matej Knopp + + * ext/voaacenc/gstvoaacenc.c: + * gst/dtmf/gstdtmfsrc.c: + * gst/rtpmux/gstrtpmux.c: + Fix compiler warnings + +2012-02-20 16:07:50 +0100 Wim Taymans + + Merge branch 'master' into 0.11 + Conflicts: + ext/opus/gstopusparse.c + gst/colorspace/colorspace.c + +2012-01-26 16:32:17 -0500 Matej Knopp + + * gst/dvdspu/gstdvdspu.c: + dvdspu should forward video caps event + +2012-02-20 14:32:12 +0000 Christian Fredrik Kalager Schaller + + * gst-plugins-bad.spec.in: + Add latest files to spec + +2012-02-20 12:42:47 +0100 Sebastian Dröge + + * sys/decklink/Makefile.am: + decklink: Add $(GST_PLUGINS_BASE_CFLAGS) and $(GST_PLUGINS_BASE_LIBS) to fix the build + +2012-02-20 10:58:09 +0100 Wim Taymans + + * gst-libs/gst/Makefile.am: + glib-compat-private.h to dist + +2012-02-19 15:54:39 -0800 David Schleef + + * tools/gst-project-maker: + gst-project-maker: Create autotools project + This is a replacement for gst-template that creates an entire + autotools project (customized to package name), and populates + it with the source for a GStreamer plugin (but no plugin features, + those come from gst-element-maker). Fixes: #665727. + +2012-02-19 12:57:39 -0800 David Schleef + + * ext/gme/gstgme.c: + * ext/opus/gstopusparse.c: + printf format fixes + +2012-02-19 00:15:47 -0800 David Schleef + + * gst/colorspace/colorspace.c: + colorspace: clamp intermediates when dithering + +2012-01-23 09:05:21 -0800 David Schleef + + * sys/decklink/Makefile.am: + * sys/decklink/gstdecklink.h: + * sys/decklink/gstdecklinksink.cpp: + * sys/decklink/gstdecklinksink.h: + decklink: Add 10-bit support + +2012-01-23 09:02:37 -0800 David Schleef + + * ext/schroedinger/gstschrodec.c: + * ext/schroedinger/gstschroenc.c: + * ext/schroedinger/gstschroutils.c: + schro: Add RGB support + This uses the automatic YCoCg conversion inside Schroedinger to + encode/decode RGB. Only works in intra-only mode, similar to 10- + and 16-bit, since RGB is technically a >8-bit format for Dirac + purposes. This depends on schroedinger-1.0.12, which is unreleased. + +2012-02-18 00:01:55 +0100 Wim Taymans + + * win32/common/config.h: + win32: back to development + +2012-02-17 12:15:27 -0300 Thibault Saunier + + * gst/mpegtsdemux/mpegtsbase.c: + mpegtsdemux: Not apply various time the same PMT to a program when repetead + Sometimes their are several times the same PMT applying to a same program in a stream, + tsdemux was totally baffled when this was happening, we now keep the one we + already applied so it works properly. + +2012-02-16 09:54:24 -0300 Thibault Saunier + + * gst/mpegtsdemux/mpegtspacketizer.c: + tsdemux: fix glib deprecation + +2012-02-17 11:06:05 +0100 Wim Taymans + + * configure.ac: + back to development + === release 0.11.1 === -2012-02-17 Wim Taymans +2012-02-17 11:05:37 +0100 Wim Taymans + * ChangeLog: + * NEWS: + * RELEASE: * configure.ac: - releasing 0.11.1, "Forest of October" + * docs/plugins/gst-plugins-bad-plugins.args: + * docs/plugins/gst-plugins-bad-plugins.hierarchy: + * docs/plugins/gst-plugins-bad-plugins.interfaces: + * docs/plugins/inspect/plugin-adpcmdec.xml: + * docs/plugins/inspect/plugin-adpcmenc.xml: + * docs/plugins/inspect/plugin-assrender.xml: + * docs/plugins/inspect/plugin-audiovisualizers.xml: + * docs/plugins/inspect/plugin-autoconvert.xml: + * docs/plugins/inspect/plugin-bayer.xml: + * docs/plugins/inspect/plugin-camerabin2.xml: + * docs/plugins/inspect/plugin-dataurisrc.xml: + * docs/plugins/inspect/plugin-debugutilsbad.xml: + * docs/plugins/inspect/plugin-dtmf.xml: + * docs/plugins/inspect/plugin-dtsdec.xml: + * docs/plugins/inspect/plugin-dvbsuboverlay.xml: + * docs/plugins/inspect/plugin-dvdspu.xml: + * docs/plugins/inspect/plugin-faac.xml: + * docs/plugins/inspect/plugin-faad.xml: + * docs/plugins/inspect/plugin-gsm.xml: + * docs/plugins/inspect/plugin-mms.xml: + * docs/plugins/inspect/plugin-modplug.xml: + * docs/plugins/inspect/plugin-mpeg2enc.xml: + * docs/plugins/inspect/plugin-mpegdemux2.xml: + * docs/plugins/inspect/plugin-mpegtsdemux.xml: + * docs/plugins/inspect/plugin-mplex.xml: + * docs/plugins/inspect/plugin-pcapparse.xml: + * docs/plugins/inspect/plugin-rtpmux.xml: + * docs/plugins/inspect/plugin-rtpvp8.xml: + * docs/plugins/inspect/plugin-sdp.xml: + * docs/plugins/inspect/plugin-videoparsersbad.xml: + * docs/plugins/inspect/plugin-vp8.xml: + * docs/plugins/inspect/plugin-y4mdec.xml: + * ext/cog/gstcogorc-dist.c: + * ext/cog/gstcogorc-dist.h: + * gst-plugins-bad.doap: + * gst/fieldanalysis/gstfieldanalysisorc-dist.c: + * gst/fieldanalysis/gstfieldanalysisorc-dist.h: + * po/af.po: + * po/az.po: + * po/bg.po: + * po/ca.po: + * po/cs.po: + * po/da.po: + * po/de.po: + * po/el.po: + * po/en_GB.po: + * po/eo.po: + * po/es.po: + * po/eu.po: + * po/fi.po: + * po/fr.po: + * po/gl.po: + * po/hu.po: + * po/id.po: + * po/it.po: + * po/ja.po: + * po/ky.po: + * po/lt.po: + * po/lv.po: + * po/mt.po: + * po/nb.po: + * po/nl.po: + * po/or.po: + * po/pl.po: + * po/pt_BR.po: + * po/ro.po: + * po/ru.po: + * po/sk.po: + * po/sl.po: + * po/sq.po: + * po/sr.po: + * po/sv.po: + * po/tr.po: + * po/uk.po: + * po/vi.po: + * po/zh_CN.po: + * win32/common/config.h: + RELEASE 0.11.1 2012-02-17 09:01:56 +0100 Wim Taymans diff --git a/NEWS b/NEWS index 485274d..a897694 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,27 @@ -This is GStreamer Bad Plug-ins 0.11.1, "Forest of October" +This is GStreamer Bad Plug-ins 0.11.2, "Crossthreaded" + +New in 0.11.2: + + * Many cleanups + * Ported to new 0.11 core API changes + * schro: Ported to 0.11 + * qtkitvideosrc: Ported to 0.11 + * vtdec: Ported to 0.11 + * celt: Ported to 0.11 + * removesilence: Ported to 0.11 + * bz2: Ported to 0.11 + * segmentclip: Ported to 0.11 + * smooth: Ported to 0.11 + * scaletempo: Ported to 0.11 + * rawparse: Ported to 0.11 + * shm: Ported to 0.11 + +Bugs fixed in this release + + * 658438 : [0.11][h263parse] Make h263 profiles/levels string fields in the caps + * 662618 : [gst-plugins-bad]compiler warnings due to printf format mismatch + * 665355 : [basevideodecoder] deletes frame but keeps it in list + * 670367 : Build failures for gst-plugins-bad New in 0.11.1: diff --git a/RELEASE b/RELEASE index ec8b27e..f009abb 100644 --- a/RELEASE +++ b/RELEASE @@ -1,5 +1,5 @@ -Release notes for GStreamer Bad Plug-ins 0.11.1 "Forest of October" +Release notes for GStreamer Bad Plug-ins 0.11.2 "Crossthreaded" @@ -61,13 +61,26 @@ contains a set of well-supported plug-ins, but might pose problems for Features of this release - * Parallel installability with 0.10.x series * Many cleanups * Ported to new 0.11 core API changes + * schro: Ported to 0.11 + * qtkitvideosrc: Ported to 0.11 + * vtdec: Ported to 0.11 + * celt: Ported to 0.11 + * removesilence: Ported to 0.11 + * bz2: Ported to 0.11 + * segmentclip: Ported to 0.11 + * smooth: Ported to 0.11 + * scaletempo: Ported to 0.11 + * rawparse: Ported to 0.11 + * shm: Ported to 0.11 Bugs fixed in this release - * 665677 : [0.11] tsdemux sets pad caps before activating + * 658438 : [0.11][h263parse] Make h263 profiles/levels string fields in the caps + * 662618 : [gst-plugins-bad]compiler warnings due to printf format mismatch + * 665355 : [basevideodecoder] deletes frame but keeps it in list + * 670367 : Build failures for gst-plugins-bad Download @@ -97,85 +110,14 @@ Applications Contributors to this release * Alessandro Decina - * Alexey Fisher - * Andoni Morales Alastruey - * Andreas Frisch - * Arun Raghavan - * Brad Smith - * Brian Gitonga Marete - * Carsten Kroll * Christian Fredrik Kalager Schaller - * Danilo Cesar Lemes de Paula - * David Biomech360 - * David King * David Schleef - * Debarshi Ray * Edward Hervey - * Felipe Contreras - * Gabriel Strimtu - * George Kiagiadakis - * Guillaume Emont - * Gwenole Beauchesne - * Götz Waschk - * Jan Schmidt - * Janne Grunau - * Jonas Larsson - * Josep Torra - * Joshua M. Doe - * Julien Isorce - * Julien MOUTTE - * Krzysztof Krakowiak - * Lasse Laukkanen - * Laura Lucas Alday - * Lauri Lehtinen - * Levente Farkas - * Luciana Fujii Pontello - * Luis de Bethencourt - * Lukáš Lalinský - * Marc-André Lureau * Mark Nauwelaerts - * Mart Raudsepp - * Martin Storsjo * Matej Knopp - * Mukul Majmudar - * Nicola Murino - * Nicolas Dufresne - * Olaf Seibert - * Oleksij Rempel (Alexey Fisher) - * Olivier Crête - * Pino Toscano - * Quentin Smith - * Rafael Diniz - * Raimo Järvi - * Raluca Elena Podiuc - * René Stadler - * Reynaldo H. Verdejo Pinochet - * Rob Clark - * Robert Jobbagy - * Robert Swain - * Sameer Naik * Sebastian Dröge - * Sebastian Pölsterl - * Sjoerd Simons * Sreerenj Balachandran - * Stefan Kost - * Stefan Sauer - * Teemu Katajisto - * Thiago Santos * Thibault Saunier - * Thijs Vermeir - * Thomas Vander Stichele - * Tiago César Katcipis - * Tim 'mithro' Ansell * Tim-Philipp Müller - * Tom Deseyn - * Tommi Myöhänen - * Vincent Génieux - * Vincent Penquerc'h - * Víctor Manuel Jáquez Leal - * W. Michael Petullo * Wim Taymans - * Youness Alaoui - * Zhao Halley - * benjamin gaignard   \ No newline at end of file diff --git a/configure.ac b/configure.ac index 9d8c8f4..ef71c66 100644 --- a/configure.ac +++ b/configure.ac @@ -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.11.1.1, +AC_INIT(GStreamer Bad Plug-ins, 0.11.2, http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer, gst-plugins-bad) @@ -52,8 +52,8 @@ AC_LIBTOOL_WIN32_DLL AM_PROG_LIBTOOL dnl *** required versions of GStreamer stuff *** -GST_REQ=0.11.2 -GSTPB_REQ=0.11.2 +GST_REQ=0.11.3 +GSTPB_REQ=0.11.3 dnl *** autotools stuff **** diff --git a/docs/plugins/gst-plugins-bad-plugins.args b/docs/plugins/gst-plugins-bad-plugins.args index 3b15c05..100e54c 100644 --- a/docs/plugins/gst-plugins-bad-plugins.args +++ b/docs/plugins/gst-plugins-bad-plugins.args @@ -18041,7 +18041,7 @@ GstAudioParse::channels gint ->= 1 +[1,64] rw Channels Number of channels in raw stream. @@ -18075,7 +18075,7 @@ rw Format Format of audio samples in raw stream. -Integer +Raw @@ -18119,6 +18119,26 @@ +GstAudioParse::interleaved +gboolean + +rw +Interleaved Layout +True if audio has interleaved layout. +TRUE + + + +GstAudioParse::raw-format +GstAudioFormat + +rw +Raw Format +Format of audio samples in raw stream. +GST_AUDIO_FORMAT_S16LE + + + GstVideoParse::alpha-mask gint @@ -27960,7 +27980,7 @@ rw bitrate bitrate. -13824000 +0 @@ -28060,7 +28080,7 @@ rw enable_multiquant enable_multiquant. -TRUE +FALSE @@ -28146,11 +28166,11 @@ GstSchroEnc::horiz-slices gint ->= 1 +>= 0 rw horiz_slices horiz_slices. -8 +0 @@ -28160,7 +28180,7 @@ rw inter_wavelet inter_wavelet. -le_gall_5_3 +desl_dubuc_9_7 @@ -28250,7 +28270,7 @@ rw magic_chroma_lambda_scale magic_chroma_lambda_scale. -0.01 +0.1 @@ -28350,7 +28370,7 @@ rw magic_scene_change_threshold magic_scene_change_threshold. -0.2 +3 @@ -28520,17 +28540,17 @@ rw transform_depth transform_depth. -4 +3 GstSchroEnc::vert-slices gint ->= 1 +>= 0 rw vert_slices vert_slices. -6 +0 @@ -46294,6 +46314,16 @@ +GstShmSink::buffer-time +guint64 + +rwx +Buffer Time of the shm buffer +Maximum Size of the shm buffer in nanoseconds (-1 to disable). +18446744073709551615 + + + GstRTMPSrc::location gchar* @@ -57843,3 +57873,63 @@ 0 + +GstRemoveSilence::hysteresis +guint64 +>= 1 +rw +Hysteresis +Set the hysteresis (on samples) used on the internal VAD. +480 + + + +GstRemoveSilence::remove +gboolean + +rw +Remove +Set to true to remove silence from the stream, false otherwhise. +FALSE + + + +GstSmooth::active +gboolean + +rw +active +process video. +TRUE + + + +GstSmooth::filter-size +gint + +rw +filter-size +size of media filter. +0 + + + +GstSmooth::luma-only +gboolean + +rw +luma-only +only filter luma part. +TRUE + + + +GstSmooth::tolerance +gint + +rw +tolerance +contrast tolerance for smoothing. +0 + + diff --git a/docs/plugins/gst-plugins-bad-plugins.hierarchy b/docs/plugins/gst-plugins-bad-plugins.hierarchy index 0953294..c28a0bc 100644 --- a/docs/plugins/gst-plugins-bad-plugins.hierarchy +++ b/docs/plugins/gst-plugins-bad-plugins.hierarchy @@ -9,11 +9,13 @@ GObject GstAssRender GstAudioDecoder ADPCMDec + GstCeltDec GstDtsDec GstFaad GstGSMDec GstAudioEncoder ADPCMEnc + GstCeltEnc GstFaac GstGSMEnc GstBaseAudioVisualizer @@ -30,21 +32,29 @@ GObject GstMpegvParse GstBaseSink GstChecksumSink + GstShmSink GstBaseSrc GstDTMFSrc GstDataURISrc GstPushSrc GstMMS + GstShmSrc GstRTPDTMFSrc GstBaseTransform GstBayer2RGB GstDebugSpy GstDtmfDetect GstRGB2Bayer + GstRemoveSilence + GstScaletempo + GstVideoFilter + GstSmooth GstBaseVideoCodec GstBaseVideoDecoder + GstSchroDec GstVP8Dec GstBaseVideoEncoder + GstSchroEnc GstVP8Enc GstBin GstAutoConvert @@ -56,6 +66,8 @@ GObject GstCameraBin2 GstSDPDemux GstViewfinderBin + GstBz2dec + GstBz2enc GstChopMyData GstCompare GstDVBSubOverlay @@ -72,6 +84,12 @@ GObject GstRtpVP8Pay GstRTPMux GstRTPDTMFMux + GstRawParse + GstAudioParse + GstVideoParse + GstSegmentClip + GstAudioSegmentClip + GstVideoSegmentClip GstY4mDec MpegTSBase GstTSDemux diff --git a/docs/plugins/gst-plugins-bad-plugins.interfaces b/docs/plugins/gst-plugins-bad-plugins.interfaces index e39c435..300d801 100644 --- a/docs/plugins/gst-plugins-bad-plugins.interfaces +++ b/docs/plugins/gst-plugins-bad-plugins.interfaces @@ -12,6 +12,7 @@ GstBin GstChildProxy GstCDAudio GstURIHandler GstCameraBin GstChildProxy GstImplementsInterface GstColorBalance GstTagSetter GstCameraBin2 GstChildProxy GstTagSetter +GstCeltEnc GstPreset GstTagSetter GstCeltEnc GstTagSetter GstPreset GstDataURISrc GstURIHandler GstDfbVideoSink GstImplementsInterface GstNavigation GstColorBalance diff --git a/docs/plugins/inspect/plugin-adpcmdec.xml b/docs/plugins/inspect/plugin-adpcmdec.xml index 6cb71f8..6bc3b3a 100644 --- a/docs/plugins/inspect/plugin-adpcmdec.xml +++ b/docs/plugins/inspect/plugin-adpcmdec.xml @@ -3,7 +3,7 @@ ADPCM decoder ../../gst/adpcmdec/.libs/libgstadpcmdec.so libgstadpcmdec.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-adpcmenc.xml b/docs/plugins/inspect/plugin-adpcmenc.xml index 23e1eb0..937d5d7 100644 --- a/docs/plugins/inspect/plugin-adpcmenc.xml +++ b/docs/plugins/inspect/plugin-adpcmenc.xml @@ -3,7 +3,7 @@ ADPCM encoder ../../gst/adpcmenc/.libs/libgstadpcmenc.so libgstadpcmenc.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-assrender.xml b/docs/plugins/inspect/plugin-assrender.xml index 7efaf98..ecf0436 100644 --- a/docs/plugins/inspect/plugin-assrender.xml +++ b/docs/plugins/inspect/plugin-assrender.xml @@ -3,7 +3,7 @@ ASS/SSA subtitle renderer ../../ext/assrender/.libs/libgstassrender.so libgstassrender.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-audiovisualizers.xml b/docs/plugins/inspect/plugin-audiovisualizers.xml index bc1c8eb..5a821c9 100644 --- a/docs/plugins/inspect/plugin-audiovisualizers.xml +++ b/docs/plugins/inspect/plugin-audiovisualizers.xml @@ -3,7 +3,7 @@ Creates video visualizations of audio input ../../gst/audiovisualizers/.libs/libgstaudiovisualizers.so libgstaudiovisualizers.so - 0.11.1 + 0.11.2 GPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-autoconvert.xml b/docs/plugins/inspect/plugin-autoconvert.xml index 39b59e0..f205bc3 100644 --- a/docs/plugins/inspect/plugin-autoconvert.xml +++ b/docs/plugins/inspect/plugin-autoconvert.xml @@ -3,7 +3,7 @@ Selects convertor element based on caps ../../gst/autoconvert/.libs/libgstautoconvert.so libgstautoconvert.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-bayer.xml b/docs/plugins/inspect/plugin-bayer.xml index c33f8e4..365d951 100644 --- a/docs/plugins/inspect/plugin-bayer.xml +++ b/docs/plugins/inspect/plugin-bayer.xml @@ -3,7 +3,7 @@ Elements to convert Bayer images ../../gst/bayer/.libs/libgstbayer.so libgstbayer.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release @@ -13,14 +13,14 @@ bayer2rgb Bayer to RGB decoder for cameras Filter/Converter/Video - Converts video/x-raw-bayer to video/x-raw + Converts video/x-bayer to video/x-raw William Brack <wbrack@mmm.com.hk> sink sink always -
video/x-raw-bayer, format=(string){ bggr, grbg, gbrg, rggb }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-bayer, format=(string){ bggr, grbg, gbrg, rggb }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
src @@ -34,7 +34,7 @@ rgb2bayer RGB to Bayer converter Filter/Converter/Video - Converts video/x-raw to video/x-raw-bayer + Converts video/x-raw to video/x-bayer David Schleef <ds@entropywave.com> @@ -47,7 +47,7 @@ src source always -
video/x-raw-bayer, format=(string){ bggr, gbrg, grbg, rggb }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-bayer, format=(string){ bggr, gbrg, grbg, rggb }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
diff --git a/docs/plugins/inspect/plugin-bz2.xml b/docs/plugins/inspect/plugin-bz2.xml index d558830..510cc28 100644 --- a/docs/plugins/inspect/plugin-bz2.xml +++ b/docs/plugins/inspect/plugin-bz2.xml @@ -3,10 +3,10 @@ Compress or decompress streams ../../ext/bz2/.libs/libgstbz2.so libgstbz2.so - 0.10.22.1 + 0.11.2 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-camerabin2.xml b/docs/plugins/inspect/plugin-camerabin2.xml index 70956f5..9ae4e4c 100644 --- a/docs/plugins/inspect/plugin-camerabin2.xml +++ b/docs/plugins/inspect/plugin-camerabin2.xml @@ -3,7 +3,7 @@ camerabin2 ../../gst/camerabin2/.libs/libgstcamerabin2.so libgstcamerabin2.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release @@ -29,7 +29,7 @@ sink sink always -
video/x-raw-yuv; video/x-raw-rgb
+
video/x-raw
diff --git a/docs/plugins/inspect/plugin-celt.xml b/docs/plugins/inspect/plugin-celt.xml index da3e898..deeeba1 100644 --- a/docs/plugins/inspect/plugin-celt.xml +++ b/docs/plugins/inspect/plugin-celt.xml @@ -3,10 +3,10 @@ CELT plugin library ../../ext/celt/.libs/libgstcelt.so libgstcelt.so - 0.10.22.1 + 0.11.2 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin @@ -26,7 +26,7 @@ src source always -
audio/x-raw-int, rate=(int)[ 32000, 64000 ], channels=(int)[ 1, 2 ], endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16
+
audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 32000, 64000 ], channels=(int)[ 1, 2 ]
@@ -41,7 +41,7 @@ sink sink always -
audio/x-raw-int, rate=(int)[ 32000, 64000 ], channels=(int)[ 1, 2 ], endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16
+
audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 32000, 64000 ], channels=(int)[ 1, 2 ]
src diff --git a/docs/plugins/inspect/plugin-dataurisrc.xml b/docs/plugins/inspect/plugin-dataurisrc.xml index 33e9adf..a5855c4 100644 --- a/docs/plugins/inspect/plugin-dataurisrc.xml +++ b/docs/plugins/inspect/plugin-dataurisrc.xml @@ -3,7 +3,7 @@ data: URI source ../../gst/dataurisrc/.libs/libgstdataurisrc.so libgstdataurisrc.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-debugutilsbad.xml b/docs/plugins/inspect/plugin-debugutilsbad.xml index 9557383..1ccc0d1 100644 --- a/docs/plugins/inspect/plugin-debugutilsbad.xml +++ b/docs/plugins/inspect/plugin-debugutilsbad.xml @@ -3,7 +3,7 @@ Collection of elements that may or may not be useful for debugging ../../gst/debugutils/.libs/libgstdebugutilsbad.so libgstdebugutilsbad.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-dtmf.xml b/docs/plugins/inspect/plugin-dtmf.xml index 35a8f9a..9bfb870 100644 --- a/docs/plugins/inspect/plugin-dtmf.xml +++ b/docs/plugins/inspect/plugin-dtmf.xml @@ -3,7 +3,7 @@ DTMF plugins ../../gst/dtmf/.libs/libgstdtmf.so libgstdtmf.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-dtsdec.xml b/docs/plugins/inspect/plugin-dtsdec.xml index e35f33a..df2536a 100644 --- a/docs/plugins/inspect/plugin-dtsdec.xml +++ b/docs/plugins/inspect/plugin-dtsdec.xml @@ -3,7 +3,7 @@ Decodes DTS audio streams ../../ext/dts/.libs/libgstdtsdec.so libgstdtsdec.so - 0.11.1 + 0.11.2 GPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-dvbsuboverlay.xml b/docs/plugins/inspect/plugin-dvbsuboverlay.xml index 2efa28e..dd22c58 100644 --- a/docs/plugins/inspect/plugin-dvbsuboverlay.xml +++ b/docs/plugins/inspect/plugin-dvbsuboverlay.xml @@ -3,7 +3,7 @@ DVB subtitle renderer ../../gst/dvbsuboverlay/.libs/libgstdvbsuboverlay.so libgstdvbsuboverlay.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-dvdspu.xml b/docs/plugins/inspect/plugin-dvdspu.xml index 58b3a6e..ab67dc2 100644 --- a/docs/plugins/inspect/plugin-dvdspu.xml +++ b/docs/plugins/inspect/plugin-dvdspu.xml @@ -3,7 +3,7 @@ DVD Sub-picture Overlay element ../../gst/dvdspu/.libs/libgstdvdspu.so libgstdvdspu.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-faac.xml b/docs/plugins/inspect/plugin-faac.xml index 5bd59a6..04dda8b 100644 --- a/docs/plugins/inspect/plugin-faac.xml +++ b/docs/plugins/inspect/plugin-faac.xml @@ -3,7 +3,7 @@ Free AAC Encoder (FAAC) ../../ext/faac/.libs/libgstfaac.so libgstfaac.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-faad.xml b/docs/plugins/inspect/plugin-faad.xml index 6cb5626..4e23641 100644 --- a/docs/plugins/inspect/plugin-faad.xml +++ b/docs/plugins/inspect/plugin-faad.xml @@ -3,7 +3,7 @@ Free AAC Decoder (FAAD) ../../ext/faad/.libs/libgstfaad.so libgstfaad.so - 0.11.1 + 0.11.2 GPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-gsm.xml b/docs/plugins/inspect/plugin-gsm.xml index c5aa188..dc50c58 100644 --- a/docs/plugins/inspect/plugin-gsm.xml +++ b/docs/plugins/inspect/plugin-gsm.xml @@ -3,7 +3,7 @@ GSM encoder/decoder ../../ext/gsm/.libs/libgstgsm.so libgstgsm.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-mms.xml b/docs/plugins/inspect/plugin-mms.xml index 0e8779f..d8a0d1c 100644 --- a/docs/plugins/inspect/plugin-mms.xml +++ b/docs/plugins/inspect/plugin-mms.xml @@ -3,7 +3,7 @@ Microsoft Multi Media Server streaming protocol support ../../ext/libmms/.libs/libgstmms.so libgstmms.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-modplug.xml b/docs/plugins/inspect/plugin-modplug.xml index ab932b1..407b42f 100644 --- a/docs/plugins/inspect/plugin-modplug.xml +++ b/docs/plugins/inspect/plugin-modplug.xml @@ -3,7 +3,7 @@ .MOD audio decoding ../../ext/modplug/.libs/libgstmodplug.so libgstmodplug.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-mpeg2enc.xml b/docs/plugins/inspect/plugin-mpeg2enc.xml index 7c2b683..f66e105 100644 --- a/docs/plugins/inspect/plugin-mpeg2enc.xml +++ b/docs/plugins/inspect/plugin-mpeg2enc.xml @@ -3,7 +3,7 @@ High-quality MPEG-1/2 video encoder ../../ext/mpeg2enc/.libs/libgstmpeg2enc.so libgstmpeg2enc.so - 0.11.1 + 0.11.2 GPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-mpegdemux2.xml b/docs/plugins/inspect/plugin-mpegdemux2.xml index b97dfaf..c63eff1 100644 --- a/docs/plugins/inspect/plugin-mpegdemux2.xml +++ b/docs/plugins/inspect/plugin-mpegdemux2.xml @@ -3,7 +3,7 @@ MPEG demuxers ../../gst/mpegdemux/.libs/libgstmpegdemux.so libgstmpegdemux.so - 0.11.1 + 0.11.2 unknown gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-mpegtsdemux.xml b/docs/plugins/inspect/plugin-mpegtsdemux.xml index 5a92974..1ec8d9f 100644 --- a/docs/plugins/inspect/plugin-mpegtsdemux.xml +++ b/docs/plugins/inspect/plugin-mpegtsdemux.xml @@ -3,7 +3,7 @@ MPEG TS demuxer ../../gst/mpegtsdemux/.libs/libgstmpegtsdemux.so libgstmpegtsdemux.so - 0.11.1 + 0.11.2 unknown gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-mplex.xml b/docs/plugins/inspect/plugin-mplex.xml index 89e397d..16e92fc 100644 --- a/docs/plugins/inspect/plugin-mplex.xml +++ b/docs/plugins/inspect/plugin-mplex.xml @@ -3,7 +3,7 @@ High-quality MPEG/DVD/SVCD/VCD video/audio multiplexer ../../ext/mplex/.libs/libgstmplex.so libgstmplex.so - 0.11.1 + 0.11.2 GPL gst-plugins-bad GStreamer Bad Plug-ins source release @@ -22,7 +22,7 @@ Mark Nauwelaerts <mnauw@users.sourceforge.net> audio_%u sink request -
audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ], channels=(int)[ 1, 8 ], rate=(int)[ 8000, 96000 ]; audio/x-ac3, channels=(int)[ 1, 8 ], rate=(int)[ 8000, 96000 ]; audio/x-dts; audio/x-raw-int, endianness=(int)4321, signed=(boolean)true, width=(int){ 16, 20, 24 }, depth=(int){ 16, 20, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 6 ]
+
audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ], channels=(int)[ 1, 8 ], rate=(int)[ 8000, 96000 ]; audio/x-ac3, channels=(int)[ 1, 8 ], rate=(int)[ 8000, 96000 ]; audio/x-dts; audio/x-raw, format=(string){ S16BE, S20BE, S24BE }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 6 ]
video_%u diff --git a/docs/plugins/inspect/plugin-pcapparse.xml b/docs/plugins/inspect/plugin-pcapparse.xml index 6a9b1e0..9f54548 100644 --- a/docs/plugins/inspect/plugin-pcapparse.xml +++ b/docs/plugins/inspect/plugin-pcapparse.xml @@ -3,7 +3,7 @@ Element parsing raw pcap streams ../../gst/pcapparse/.libs/libgstpcapparse.so libgstpcapparse.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer diff --git a/docs/plugins/inspect/plugin-rawparse.xml b/docs/plugins/inspect/plugin-rawparse.xml index aa943cf..144f351 100644 --- a/docs/plugins/inspect/plugin-rawparse.xml +++ b/docs/plugins/inspect/plugin-rawparse.xml @@ -3,10 +3,10 @@ Parses byte streams into raw frames ../../gst/rawparse/.libs/libgstrawparse.so libgstrawparse.so - 0.10.22.1 + 0.11.2 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin @@ -26,7 +26,7 @@ src source always -
audio/x-raw-int, depth=(int)[ 1, 32 ], width=(int){ 8, 16, 24, 32 }, endianness=(int){ 1234, 4321 }, signed=(boolean){ true, false }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; audio/x-raw-float, width=(int){ 32, 64 }, endianness=(int){ 1234, 4321 }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
+
audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string){ interleaved, non-interleaved }; audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
@@ -47,7 +47,7 @@ src source always -
video/x-raw-rgb; video/x-raw-yuv; video/x-raw-gray; video/x-raw-bayer
+
video/x-raw; video/x-bayer
diff --git a/docs/plugins/inspect/plugin-rtpmux.xml b/docs/plugins/inspect/plugin-rtpmux.xml index 2bf73ed..bd524ec 100644 --- a/docs/plugins/inspect/plugin-rtpmux.xml +++ b/docs/plugins/inspect/plugin-rtpmux.xml @@ -3,7 +3,7 @@ RTP Muxer plugins ../../gst/rtpmux/.libs/libgstrtpmux.so libgstrtpmux.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-rtpvp8.xml b/docs/plugins/inspect/plugin-rtpvp8.xml index 0660acf..44e1477 100644 --- a/docs/plugins/inspect/plugin-rtpvp8.xml +++ b/docs/plugins/inspect/plugin-rtpvp8.xml @@ -3,7 +3,7 @@ rtpvp8 ../../gst/rtpvp8/.libs/libgstrtpvp8.so libgstrtpvp8.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-scaletempo.xml b/docs/plugins/inspect/plugin-scaletempo.xml index 4e23f80..61febbc 100644 --- a/docs/plugins/inspect/plugin-scaletempo.xml +++ b/docs/plugins/inspect/plugin-scaletempo.xml @@ -3,7 +3,7 @@ Scale audio tempo in sync with playback rate ../../gst/scaletempo/.libs/libgstscaletempoplugin.so libgstscaletempoplugin.so - 0.10.22.1 + 0.11.2 LGPL gst-plugins-bad GStreamer @@ -20,13 +20,13 @@ sink sink always -
audio/x-raw-float, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], endianness=(int)1234, width=(int)32; audio/x-raw-int, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], endianness=(int)1234, width=(int)16, depth=(int)16, signed=(boolean)true
+
audio/x-raw, format=(string)F32LE, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; audio/x-raw, format=(string)S16LE, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
src source always -
audio/x-raw-float, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], endianness=(int)1234, width=(int)32; audio/x-raw-int, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], endianness=(int)1234, width=(int)16, depth=(int)16, signed=(boolean)true
+
audio/x-raw, format=(string)F32LE, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; audio/x-raw, format=(string)S16LE, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
diff --git a/docs/plugins/inspect/plugin-schro.xml b/docs/plugins/inspect/plugin-schro.xml index 0aa6248..0b803a9 100644 --- a/docs/plugins/inspect/plugin-schro.xml +++ b/docs/plugins/inspect/plugin-schro.xml @@ -3,10 +3,10 @@ Schroedinger plugin ../../ext/schroedinger/.libs/libgstschro.so libgstschro.so - 0.10.22.1 + 0.11.2 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin @@ -26,7 +26,7 @@ src source always -
video/x-raw-yuv, format=(fourcc){ I420, YUY2, AYUV }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, ARGB }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
@@ -41,7 +41,7 @@ sink sink always -
video/x-raw-yuv, format=(fourcc){ I420, YV12, YUY2, UYVY, AYUV }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, ARGB }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
src diff --git a/docs/plugins/inspect/plugin-sdp.xml b/docs/plugins/inspect/plugin-sdp.xml index 48e1748..5f2a5b2 100644 --- a/docs/plugins/inspect/plugin-sdp.xml +++ b/docs/plugins/inspect/plugin-sdp.xml @@ -3,7 +3,7 @@ configure streaming sessions using SDP ../../gst/sdp/.libs/libgstsdpelem.so libgstsdpelem.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-segmentclip.xml b/docs/plugins/inspect/plugin-segmentclip.xml index 95dd001..10c41e0 100644 --- a/docs/plugins/inspect/plugin-segmentclip.xml +++ b/docs/plugins/inspect/plugin-segmentclip.xml @@ -3,10 +3,10 @@ Segment clip elements ../../gst/segmentclip/.libs/libgstsegmentclip.so libgstsegmentclip.so - 0.10.22.1 + 0.11.2 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin @@ -20,13 +20,13 @@ sink sink always -
audio/x-raw-int, width=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-raw-float, width=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]
+
audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
src source always -
audio/x-raw-int, width=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-raw-float, width=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]
+
audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]
@@ -41,13 +41,13 @@ sink sink always -
video/x-raw-yuv, framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-grey, framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, framerate=(fraction)[ 0/1, 2147483647/1 ]
src source always -
video/x-raw-yuv, framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-rgb, framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw-grey, framerate=(fraction)[ 0/1, 2147483647/1 ]
+
video/x-raw, framerate=(fraction)[ 0/1, 2147483647/1 ]
diff --git a/docs/plugins/inspect/plugin-shm.xml b/docs/plugins/inspect/plugin-shm.xml index 364a0ce..3b729a0 100644 --- a/docs/plugins/inspect/plugin-shm.xml +++ b/docs/plugins/inspect/plugin-shm.xml @@ -3,10 +3,10 @@ shared memory sink source ../../sys/shm/.libs/libgstshm.so libgstshm.so - 0.10.22.1 + 0.11.2 LGPL gst-plugins-bad - GStreamer Bad Plug-ins git + GStreamer Bad Plug-ins source release Unknown package origin diff --git a/docs/plugins/inspect/plugin-videoparsersbad.xml b/docs/plugins/inspect/plugin-videoparsersbad.xml index 38dd297..e44d4e8 100644 --- a/docs/plugins/inspect/plugin-videoparsersbad.xml +++ b/docs/plugins/inspect/plugin-videoparsersbad.xml @@ -3,7 +3,7 @@ videoparsers ../../gst/videoparsers/.libs/libgstvideoparsersbad.so libgstvideoparsersbad.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-vp8.xml b/docs/plugins/inspect/plugin-vp8.xml index 1f79de1..0eb6bfa 100644 --- a/docs/plugins/inspect/plugin-vp8.xml +++ b/docs/plugins/inspect/plugin-vp8.xml @@ -3,7 +3,7 @@ VP8 plugin ../../ext/vp8/.libs/libgstvp8.so libgstvp8.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins source release diff --git a/docs/plugins/inspect/plugin-y4mdec.xml b/docs/plugins/inspect/plugin-y4mdec.xml index 2207937..e22ee50 100644 --- a/docs/plugins/inspect/plugin-y4mdec.xml +++ b/docs/plugins/inspect/plugin-y4mdec.xml @@ -3,7 +3,7 @@ Demuxes/decodes YUV4MPEG streams ../../gst/y4m/.libs/libgsty4mdec.so libgsty4mdec.so - 0.11.1 + 0.11.2 LGPL gst-plugins-bad GStreamer Bad Plug-ins diff --git a/ext/cog/gstcogorc-dist.c b/ext/cog/gstcogorc-dist.c index 6ee3039..d4daee6 100644 --- a/ext/cog/gstcogorc-dist.c +++ b/ext/cog/gstcogorc-dist.c @@ -4,9 +4,6 @@ #ifdef HAVE_CONFIG_H #include "config.h" #endif -#ifndef DISABLE_ORC -#include -#endif #include #ifndef _ORC_INTEGER_TYPEDEFS_ @@ -32,6 +29,7 @@ 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 typedef signed char orc_int8; @@ -71,165 +69,232 @@ typedef union 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 (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1, - int s1_stride, int n, int m); -void cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1, +#ifndef DISABLE_ORC +#include +#endif +void cogorc_memcpy_2d (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, int n); +void cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, int n); -void cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1, - const orc_uint16 * s2, int n); -void cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1, - const orc_uint16 * s2, int n); -void cogorc_downsample_vert_halfsite_2tap (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, int n); -void cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, int n); -void cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n); -void cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, +void cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, int n); -void cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, int n); -void cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, int n); -void orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n); -void orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n); -void orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n); -void orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, int n); -void orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n); -void orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n); -void orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n); -void orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, int n); -void orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n); -void orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n); -void orc_splat_u8_ns (orc_uint8 * d1, int p1, int n); -void orc_splat_s16_ns (gint16 * d1, int p1, int n); -void orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, - int p2, int p3, int n); -void orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, - int p1, int p2, int n); -void orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, - int p1, int p2, int n); -void orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, - const guint8 * s3, int p1, int p2, int p3, int p4, int n); -void orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, - const guint8 * s3, int p1, int p2, int p3, int n); -void orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, - const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4, - int p5, int n); -void orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, - const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n); -void orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, int p1, int n); -void orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, int p1, int n); -void cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, int p1, int p2, int n); -void cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int p1, - int p2, int p3, int p4, int n); -void cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n); -void cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n); -void cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n); -void cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n); -void cogorc_resample_horiz_1tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, +void cogorc_downsample_vert_halfsite_2tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + int n); +void cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, int n); +void cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, + int n); +void cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, int n); +void cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + int n); +void cogorc_upsample_vert_avgub (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + int n); +void orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, int n); +void orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n); +void orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n); +void orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1, + const guint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, int n); +void orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, int n); +void orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n); +void orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n); +void orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1, + const guint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, int n); +void orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1, + const gint16 * ORC_RESTRICT s1, int n); +void orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, int n); +void orc_splat_u8_ns (orc_uint8 * ORC_RESTRICT d1, int p1, int n); +void orc_splat_s16_ns (gint16 * ORC_RESTRICT d1, int p1, 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 cogorc_resample_horiz_2tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, +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 cogorc_convert_I420_UYVY (orc_uint32 * d1, orc_uint32 * d2, - const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3, - const orc_uint8 * s4, int n); -void cogorc_convert_I420_YUY2 (orc_uint32 * d1, orc_uint32 * d2, - const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3, - const orc_uint8 * s4, int n); -void cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2, - const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, - const orc_uint8 * s4, int n); -void cogorc_convert_YUY2_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, - orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n); -void cogorc_convert_UYVY_YUY2 (orc_uint32 * d1, int d1_stride, - const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_planar_chroma_420_422 (orc_uint8 * d1, int d1_stride, - orc_uint8 * d2, int d2_stride, const orc_uint8 * s1, int s1_stride, 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 orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, int p1, int n); +void orc_pack_x123 (guint32 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, int p1, int n); +void cogorc_combine2_u8 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + int p1, int p2, int n); +void cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, + int p1, int p2, int p3, int p4, int n); +void cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n); +void cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n); +void cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n); +void cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n); +void cogorc_resample_horiz_1tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n); +void cogorc_resample_horiz_2tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n); +void cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1, + orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1, + const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, + const orc_uint8 * ORC_RESTRICT s4, int n); +void cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1, + orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1, + const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, + const orc_uint8 * ORC_RESTRICT s4, int n); +void cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1, + orc_uint32 * ORC_RESTRICT d2, const orc_uint8 * ORC_RESTRICT s1, + const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, + const orc_uint8 * ORC_RESTRICT s4, int n); +void cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1, + orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3, + orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1, + const orc_uint32 * ORC_RESTRICT s2, int n); +void cogorc_convert_UYVY_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_planar_chroma_420_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_planar_chroma_420_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint16 * ORC_RESTRICT d2, int d2_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_planar_chroma_422_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint16 * ORC_RESTRICT s2, int s2_stride, int n, int m); +void cogorc_planar_chroma_422_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, int n, int m); +void cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m); +void cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m); +void cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m); +void cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m); +void cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1, + orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3, + orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1, + const orc_uint32 * ORC_RESTRICT s2, int n); +void cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, orc_uint8 * ORC_RESTRICT d4, int d4_stride, + const orc_uint64 * ORC_RESTRICT s1, int s1_stride, + const orc_uint64 * ORC_RESTRICT s2, int s2_stride, int n, int m); +void cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m); -void cogorc_planar_chroma_420_444 (orc_uint16 * d1, int d1_stride, - orc_uint16 * d2, int d2_stride, const orc_uint8 * s1, int s1_stride, int n, +void cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); -void cogorc_planar_chroma_422_444 (orc_uint16 * d1, int d1_stride, - const orc_uint8 * s1, int s1_stride, int n, int m); -void cogorc_planar_chroma_444_422 (orc_uint8 * d1, int d1_stride, - const orc_uint16 * s1, int s1_stride, int n, int m); -void cogorc_planar_chroma_444_420 (orc_uint8 * d1, int d1_stride, - const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, - int n, int m); -void cogorc_planar_chroma_422_420 (orc_uint8 * d1, int d1_stride, - const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, - int n, int m); -void cogorc_convert_YUY2_AYUV (orc_uint64 * d1, int d1_stride, - const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_UYVY_AYUV (orc_uint64 * d1, int d1_stride, - const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_YUY2_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m); -void cogorc_convert_UYVY_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m); -void cogorc_convert_YUY2_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, - int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m); -void cogorc_convert_UYVY_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, - int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m); -void cogorc_convert_UYVY_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, - orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n); -void cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, orc_uint8 * d4, int d4_stride, - const orc_uint64 * s1, int s1_stride, const orc_uint64 * s2, int s2_stride, - int n, int m); -void cogorc_convert_AYUV_YUY2 (orc_uint32 * d1, int d1_stride, - const orc_uint64 * s1, int s1_stride, int n, int m); -void cogorc_convert_AYUV_UYVY (orc_uint32 * d1, int d1_stride, - const orc_uint64 * s1, int s1_stride, int n, int m); -void cogorc_convert_AYUV_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint64 * s1, - int s1_stride, int n, int m); -void cogorc_convert_AYUV_Y444 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m); -void cogorc_convert_Y42B_YUY2 (orc_uint32 * d1, int d1_stride, - const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, - const orc_uint8 * s3, int s3_stride, int n, int m); -void cogorc_convert_Y42B_UYVY (orc_uint32 * d1, int d1_stride, - const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, - const orc_uint8 * s3, int s3_stride, int n, int m); -void cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride, - const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, - const orc_uint8 * s3, int s3_stride, int n, int m); -void cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride, - const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, - const orc_uint16 * s3, int s3_stride, int n, int m); -void cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride, - const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, - const orc_uint16 * s3, int s3_stride, int n, int m); -void cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride, - const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, - const orc_uint8 * s3, int s3_stride, int n, int m); -void cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, - const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, - const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, - const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, - const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, int n); -void cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, - const orc_uint8 * s5, int n); +void cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, + const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m); +void cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, + const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m); +void cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, + const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m); +void cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint16 * ORC_RESTRICT s2, int s2_stride, + const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m); +void cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint16 * ORC_RESTRICT s2, int s2_stride, + const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m); +void cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, + const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m); +void cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, int n); +void cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, + const orc_uint8 * ORC_RESTRICT s5, int n); /* begin Orc C target preamble */ @@ -263,6 +328,7 @@ void cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1, #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 @@ -270,6 +336,7 @@ void cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1, #else #define ORC_RESTRICT #endif +#endif /* end Orc C target preamble */ @@ -277,8 +344,8 @@ void cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1, /* cogorc_memcpy_2d */ #ifdef DISABLE_ORC void -cogorc_memcpy_2d (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1, - int s1_stride, int n, int m) +cogorc_memcpy_2d (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -306,7 +373,7 @@ cogorc_memcpy_2d (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1, #else static void -_backup_cogorc_memcpy_2d (OrcExecutor * ex) +_backup_cogorc_memcpy_2d (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -335,18 +402,17 @@ _backup_cogorc_memcpy_2d (OrcExecutor * ex) } void -cogorc_memcpy_2d (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1, - int s1_stride, int n, int m) +cogorc_memcpy_2d (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -358,7 +424,7 @@ cogorc_memcpy_2d (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1, orc_program_append_2 (p, "copyb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -381,8 +447,8 @@ cogorc_memcpy_2d (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1, /* cogorc_downsample_horiz_cosite_1tap */ #ifdef DISABLE_ORC void -cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1, - int n) +cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -398,7 +464,11 @@ cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1, /* 0: loadw */ var32 = ptr4[i]; /* 1: select0wb */ - var33 = (orc_uint16) var32.i & 0xff; + { + orc_union16 _src; + _src.i = var32.i; + var33 = _src.x2[0]; + } /* 2: storeb */ ptr0[i] = var33; } @@ -407,7 +477,7 @@ cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1, #else static void -_backup_cogorc_downsample_horiz_cosite_1tap (OrcExecutor * ex) +_backup_cogorc_downsample_horiz_cosite_1tap (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -424,7 +494,11 @@ _backup_cogorc_downsample_horiz_cosite_1tap (OrcExecutor * ex) /* 0: loadw */ var32 = ptr4[i]; /* 1: select0wb */ - var33 = (orc_uint16) var32.i & 0xff; + { + orc_union16 _src; + _src.i = var32.i; + var33 = _src.x2[0]; + } /* 2: storeb */ ptr0[i] = var33; } @@ -432,18 +506,17 @@ _backup_cogorc_downsample_horiz_cosite_1tap (OrcExecutor * ex) } void -cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1, - int n) +cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_downsample_horiz_cosite_1tap"); @@ -455,7 +528,7 @@ cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1, orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -475,8 +548,9 @@ cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1, /* cogorc_downsample_horiz_cosite_3tap */ #ifdef DISABLE_ORC void -cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1, - const orc_uint16 * s2, int n) +cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, + int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -505,9 +579,9 @@ cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1, ptr5 = (orc_union16 *) s2; /* 9: loadpw */ - var40.i = 0x00000002; /* 2 or 9.88131e-324f */ + var40.i = (int) 0x00000002; /* 2 or 9.88131e-324f */ /* 13: loadpw */ - var41.i = 0x00000002; /* 2 or 9.88131e-324f */ + var41.i = (int) 0x00000002; /* 2 or 9.88131e-324f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -515,13 +589,25 @@ cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1, /* 1: copyw */ var43.i = var38.i; /* 2: select0wb */ - var44 = (orc_uint16) var43.i & 0xff; + { + orc_union16 _src; + _src.i = var43.i; + var44 = _src.x2[0]; + } /* 3: select1wb */ - var45 = ((orc_uint16) var43.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var43.i; + var45 = _src.x2[1]; + } /* 4: loadw */ var39 = ptr5[i]; /* 5: select0wb */ - var46 = (orc_uint16) var39.i & 0xff; + { + orc_union16 _src; + _src.i = var39.i; + var46 = _src.x2[0]; + } /* 6: convubw */ var47.i = (orc_uint8) var44; /* 7: convubw */ @@ -548,7 +634,7 @@ cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1, #else static void -_backup_cogorc_downsample_horiz_cosite_3tap (OrcExecutor * ex) +_backup_cogorc_downsample_horiz_cosite_3tap (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -578,9 +664,9 @@ _backup_cogorc_downsample_horiz_cosite_3tap (OrcExecutor * ex) ptr5 = (orc_union16 *) ex->arrays[5]; /* 9: loadpw */ - var40.i = 0x00000002; /* 2 or 9.88131e-324f */ + var40.i = (int) 0x00000002; /* 2 or 9.88131e-324f */ /* 13: loadpw */ - var41.i = 0x00000002; /* 2 or 9.88131e-324f */ + var41.i = (int) 0x00000002; /* 2 or 9.88131e-324f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -588,13 +674,25 @@ _backup_cogorc_downsample_horiz_cosite_3tap (OrcExecutor * ex) /* 1: copyw */ var43.i = var38.i; /* 2: select0wb */ - var44 = (orc_uint16) var43.i & 0xff; + { + orc_union16 _src; + _src.i = var43.i; + var44 = _src.x2[0]; + } /* 3: select1wb */ - var45 = ((orc_uint16) var43.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var43.i; + var45 = _src.x2[1]; + } /* 4: loadw */ var39 = ptr5[i]; /* 5: select0wb */ - var46 = (orc_uint16) var39.i & 0xff; + { + orc_union16 _src; + _src.i = var39.i; + var46 = _src.x2[0]; + } /* 6: convubw */ var47.i = (orc_uint8) var44; /* 7: convubw */ @@ -620,18 +718,18 @@ _backup_cogorc_downsample_horiz_cosite_3tap (OrcExecutor * ex) } void -cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1, - const orc_uint16 * s2, int n) +cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, + int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_downsample_horiz_cosite_3tap"); @@ -675,7 +773,7 @@ cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1, orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T4, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -696,8 +794,9 @@ cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1, /* cogorc_downsample_420_jpeg */ #ifdef DISABLE_ORC void -cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1, - const orc_uint16 * s2, int n) +cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, + int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -726,9 +825,17 @@ cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1, /* 1: copyw */ var40.i = var37.i; /* 2: select0wb */ - var41 = (orc_uint16) var40.i & 0xff; + { + orc_union16 _src; + _src.i = var40.i; + var41 = _src.x2[0]; + } /* 3: select1wb */ - var42 = ((orc_uint16) var40.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var40.i; + var42 = _src.x2[1]; + } /* 4: avgub */ var43 = ((orc_uint8) var41 + (orc_uint8) var42 + 1) >> 1; /* 5: loadw */ @@ -736,9 +843,17 @@ cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1, /* 6: copyw */ var44.i = var38.i; /* 7: select0wb */ - var45 = (orc_uint16) var44.i & 0xff; + { + orc_union16 _src; + _src.i = var44.i; + var45 = _src.x2[0]; + } /* 8: select1wb */ - var46 = ((orc_uint16) var44.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var44.i; + var46 = _src.x2[1]; + } /* 9: avgub */ var47 = ((orc_uint8) var45 + (orc_uint8) var46 + 1) >> 1; /* 10: avgub */ @@ -751,7 +866,7 @@ cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1, #else static void -_backup_cogorc_downsample_420_jpeg (OrcExecutor * ex) +_backup_cogorc_downsample_420_jpeg (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -781,9 +896,17 @@ _backup_cogorc_downsample_420_jpeg (OrcExecutor * ex) /* 1: copyw */ var40.i = var37.i; /* 2: select0wb */ - var41 = (orc_uint16) var40.i & 0xff; + { + orc_union16 _src; + _src.i = var40.i; + var41 = _src.x2[0]; + } /* 3: select1wb */ - var42 = ((orc_uint16) var40.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var40.i; + var42 = _src.x2[1]; + } /* 4: avgub */ var43 = ((orc_uint8) var41 + (orc_uint8) var42 + 1) >> 1; /* 5: loadw */ @@ -791,9 +914,17 @@ _backup_cogorc_downsample_420_jpeg (OrcExecutor * ex) /* 6: copyw */ var44.i = var38.i; /* 7: select0wb */ - var45 = (orc_uint16) var44.i & 0xff; + { + orc_union16 _src; + _src.i = var44.i; + var45 = _src.x2[0]; + } /* 8: select1wb */ - var46 = ((orc_uint16) var44.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var44.i; + var46 = _src.x2[1]; + } /* 9: avgub */ var47 = ((orc_uint8) var45 + (orc_uint8) var46 + 1) >> 1; /* 10: avgub */ @@ -805,18 +936,18 @@ _backup_cogorc_downsample_420_jpeg (OrcExecutor * ex) } void -cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1, - const orc_uint16 * s2, int n) +cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, + int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_downsample_420_jpeg"); @@ -849,7 +980,7 @@ cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1, orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T4, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -870,8 +1001,8 @@ cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1, /* cogorc_downsample_vert_halfsite_2tap */ #ifdef DISABLE_ORC void -cogorc_downsample_vert_halfsite_2tap (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, int n) +cogorc_downsample_vert_halfsite_2tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -901,7 +1032,7 @@ cogorc_downsample_vert_halfsite_2tap (orc_uint8 * d1, const orc_uint8 * s1, #else static void -_backup_cogorc_downsample_vert_halfsite_2tap (OrcExecutor * ex) +_backup_cogorc_downsample_vert_halfsite_2tap (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -931,18 +1062,17 @@ _backup_cogorc_downsample_vert_halfsite_2tap (OrcExecutor * ex) } void -cogorc_downsample_vert_halfsite_2tap (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, int n) +cogorc_downsample_vert_halfsite_2tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_downsample_vert_halfsite_2tap"); @@ -955,7 +1085,7 @@ cogorc_downsample_vert_halfsite_2tap (orc_uint8 * d1, const orc_uint8 * s1, orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -976,8 +1106,9 @@ cogorc_downsample_vert_halfsite_2tap (orc_uint8 * d1, const orc_uint8 * s1, /* cogorc_downsample_vert_cosite_3tap */ #ifdef DISABLE_ORC void -cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, int n) +cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -1005,9 +1136,9 @@ cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1, ptr6 = (orc_int8 *) s3; /* 6: loadpw */ - var38.i = 0x00000002; /* 2 or 9.88131e-324f */ + var38.i = (int) 0x00000002; /* 2 or 9.88131e-324f */ /* 10: loadpw */ - var39.i = 0x00000002; /* 2 or 9.88131e-324f */ + var39.i = (int) 0x00000002; /* 2 or 9.88131e-324f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -1042,7 +1173,7 @@ cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1, #else static void -_backup_cogorc_downsample_vert_cosite_3tap (OrcExecutor * ex) +_backup_cogorc_downsample_vert_cosite_3tap (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -1071,9 +1202,9 @@ _backup_cogorc_downsample_vert_cosite_3tap (OrcExecutor * ex) ptr6 = (orc_int8 *) ex->arrays[6]; /* 6: loadpw */ - var38.i = 0x00000002; /* 2 or 9.88131e-324f */ + var38.i = (int) 0x00000002; /* 2 or 9.88131e-324f */ /* 10: loadpw */ - var39.i = 0x00000002; /* 2 or 9.88131e-324f */ + var39.i = (int) 0x00000002; /* 2 or 9.88131e-324f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -1107,18 +1238,18 @@ _backup_cogorc_downsample_vert_cosite_3tap (OrcExecutor * ex) } void -cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, int n) +cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_downsample_vert_cosite_3tap"); @@ -1152,7 +1283,7 @@ cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1, orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -1174,8 +1305,9 @@ cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1, /* cogorc_downsample_vert_halfsite_4tap */ #ifdef DISABLE_ORC void -cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n) +cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -1210,11 +1342,11 @@ cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1, ptr7 = (orc_int8 *) s4; /* 9: loadpw */ - var40.i = 0x0000001a; /* 26 or 1.28457e-322f */ + var40.i = (int) 0x0000001a; /* 26 or 1.28457e-322f */ /* 12: loadpw */ - var41.i = 0x00000006; /* 6 or 2.96439e-323f */ + var41.i = (int) 0x00000006; /* 6 or 2.96439e-323f */ /* 15: loadpw */ - var42.i = 0x00000020; /* 32 or 1.58101e-322f */ + var42.i = (int) 0x00000020; /* 32 or 1.58101e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -1257,7 +1389,7 @@ cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1, #else static void -_backup_cogorc_downsample_vert_halfsite_4tap (OrcExecutor * ex) +_backup_cogorc_downsample_vert_halfsite_4tap (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -1293,11 +1425,11 @@ _backup_cogorc_downsample_vert_halfsite_4tap (OrcExecutor * ex) ptr7 = (orc_int8 *) ex->arrays[7]; /* 9: loadpw */ - var40.i = 0x0000001a; /* 26 or 1.28457e-322f */ + var40.i = (int) 0x0000001a; /* 26 or 1.28457e-322f */ /* 12: loadpw */ - var41.i = 0x00000006; /* 6 or 2.96439e-323f */ + var41.i = (int) 0x00000006; /* 6 or 2.96439e-323f */ /* 15: loadpw */ - var42.i = 0x00000020; /* 32 or 1.58101e-322f */ + var42.i = (int) 0x00000020; /* 32 or 1.58101e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -1339,18 +1471,18 @@ _backup_cogorc_downsample_vert_halfsite_4tap (OrcExecutor * ex) } void -cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n) +cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_downsample_vert_halfsite_4tap"); @@ -1394,7 +1526,7 @@ cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1, orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -1417,7 +1549,8 @@ cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1, /* cogorc_upsample_horiz_cosite_1tap */ #ifdef DISABLE_ORC void -cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, int n) +cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, int n) { int i; orc_union16 *ORC_RESTRICT ptr0; @@ -1436,7 +1569,12 @@ cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, int n) /* 1: copyb */ var35 = var33; /* 2: mergebw */ - var34.i = ((orc_uint8) var35 & 0x00ff) | ((orc_uint8) var35 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var35; + _dest.x2[1] = var35; + var34.i = _dest.i; + } /* 3: storew */ ptr0[i] = var34; } @@ -1445,7 +1583,7 @@ cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, int n) #else static void -_backup_cogorc_upsample_horiz_cosite_1tap (OrcExecutor * ex) +_backup_cogorc_upsample_horiz_cosite_1tap (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -1465,7 +1603,12 @@ _backup_cogorc_upsample_horiz_cosite_1tap (OrcExecutor * ex) /* 1: copyb */ var35 = var33; /* 2: mergebw */ - var34.i = ((orc_uint8) var35 & 0x00ff) | ((orc_uint8) var35 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var35; + _dest.x2[1] = var35; + var34.i = _dest.i; + } /* 3: storew */ ptr0[i] = var34; } @@ -1473,17 +1616,17 @@ _backup_cogorc_upsample_horiz_cosite_1tap (OrcExecutor * ex) } void -cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, int n) +cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_upsample_horiz_cosite_1tap"); @@ -1498,7 +1641,7 @@ cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, int n) orc_program_append_2 (p, "mergebw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -1518,8 +1661,8 @@ cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, int n) /* cogorc_upsample_horiz_cosite */ #ifdef DISABLE_ORC void -cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, int n) +cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n) { int i; orc_union16 *ORC_RESTRICT ptr0; @@ -1546,7 +1689,12 @@ cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1, /* 3: avgub */ var38 = ((orc_uint8) var37 + (orc_uint8) var35 + 1) >> 1; /* 4: mergebw */ - var36.i = ((orc_uint8) var37 & 0x00ff) | ((orc_uint8) var38 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var37; + _dest.x2[1] = var38; + var36.i = _dest.i; + } /* 5: storew */ ptr0[i] = var36; } @@ -1555,7 +1703,7 @@ cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1, #else static void -_backup_cogorc_upsample_horiz_cosite (OrcExecutor * ex) +_backup_cogorc_upsample_horiz_cosite (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -1583,7 +1731,12 @@ _backup_cogorc_upsample_horiz_cosite (OrcExecutor * ex) /* 3: avgub */ var38 = ((orc_uint8) var37 + (orc_uint8) var35 + 1) >> 1; /* 4: mergebw */ - var36.i = ((orc_uint8) var37 & 0x00ff) | ((orc_uint8) var38 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var37; + _dest.x2[1] = var38; + var36.i = _dest.i; + } /* 5: storew */ ptr0[i] = var36; } @@ -1591,18 +1744,17 @@ _backup_cogorc_upsample_horiz_cosite (OrcExecutor * ex) } void -cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, int n) +cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_upsample_horiz_cosite"); @@ -1620,7 +1772,7 @@ cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1, orc_program_append_2 (p, "mergebw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -1641,8 +1793,8 @@ cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1, /* cogorc_upsample_vert_avgub */ #ifdef DISABLE_ORC void -cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, int n) +cogorc_upsample_vert_avgub (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -1672,7 +1824,7 @@ cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1, #else static void -_backup_cogorc_upsample_vert_avgub (OrcExecutor * ex) +_backup_cogorc_upsample_vert_avgub (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -1702,18 +1854,17 @@ _backup_cogorc_upsample_vert_avgub (OrcExecutor * ex) } void -cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, int n) +cogorc_upsample_vert_avgub (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_upsample_vert_avgub"); @@ -1725,7 +1876,7 @@ cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1, orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -1746,7 +1897,8 @@ cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1, /* orc_unpack_yuyv_y */ #ifdef DISABLE_ORC void -orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n) +orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -1762,7 +1914,11 @@ orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n) /* 0: loadw */ var32 = ptr4[i]; /* 1: select0wb */ - var33 = (orc_uint16) var32.i & 0xff; + { + orc_union16 _src; + _src.i = var32.i; + var33 = _src.x2[0]; + } /* 2: storeb */ ptr0[i] = var33; } @@ -1771,7 +1927,7 @@ orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n) #else static void -_backup_orc_unpack_yuyv_y (OrcExecutor * ex) +_backup_orc_unpack_yuyv_y (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -1788,7 +1944,11 @@ _backup_orc_unpack_yuyv_y (OrcExecutor * ex) /* 0: loadw */ var32 = ptr4[i]; /* 1: select0wb */ - var33 = (orc_uint16) var32.i & 0xff; + { + orc_union16 _src; + _src.i = var32.i; + var33 = _src.x2[0]; + } /* 2: storeb */ ptr0[i] = var33; } @@ -1796,17 +1956,17 @@ _backup_orc_unpack_yuyv_y (OrcExecutor * ex) } void -orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n) +orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_unpack_yuyv_y"); @@ -1817,7 +1977,7 @@ orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n) orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -1837,7 +1997,8 @@ orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n) /* orc_unpack_yuyv_u */ #ifdef DISABLE_ORC void -orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n) +orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -1854,9 +2015,17 @@ orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n) /* 0: loadl */ var33 = ptr4[i]; /* 1: select0lw */ - var35.i = (orc_uint32) var33.i & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[0]; + } /* 2: select1wb */ - var34 = ((orc_uint16) var35.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[1]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -1865,7 +2034,7 @@ orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n) #else static void -_backup_orc_unpack_yuyv_u (OrcExecutor * ex) +_backup_orc_unpack_yuyv_u (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -1883,9 +2052,17 @@ _backup_orc_unpack_yuyv_u (OrcExecutor * ex) /* 0: loadl */ var33 = ptr4[i]; /* 1: select0lw */ - var35.i = (orc_uint32) var33.i & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[0]; + } /* 2: select1wb */ - var34 = ((orc_uint16) var35.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[1]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -1893,17 +2070,17 @@ _backup_orc_unpack_yuyv_u (OrcExecutor * ex) } void -orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n) +orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_unpack_yuyv_u"); @@ -1917,7 +2094,7 @@ orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n) orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -1937,7 +2114,8 @@ orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n) /* orc_unpack_yuyv_v */ #ifdef DISABLE_ORC void -orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n) +orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -1954,9 +2132,17 @@ orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n) /* 0: loadl */ var33 = ptr4[i]; /* 1: select1lw */ - var35.i = ((orc_uint32) var33.i >> 16) & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[1]; + } /* 2: select1wb */ - var34 = ((orc_uint16) var35.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[1]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -1965,7 +2151,7 @@ orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n) #else static void -_backup_orc_unpack_yuyv_v (OrcExecutor * ex) +_backup_orc_unpack_yuyv_v (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -1983,9 +2169,17 @@ _backup_orc_unpack_yuyv_v (OrcExecutor * ex) /* 0: loadl */ var33 = ptr4[i]; /* 1: select1lw */ - var35.i = ((orc_uint32) var33.i >> 16) & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[1]; + } /* 2: select1wb */ - var34 = ((orc_uint16) var35.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[1]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -1993,17 +2187,17 @@ _backup_orc_unpack_yuyv_v (OrcExecutor * ex) } void -orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n) +orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_unpack_yuyv_v"); @@ -2017,7 +2211,7 @@ orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n) orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -2037,8 +2231,8 @@ orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n) /* orc_pack_yuyv */ #ifdef DISABLE_ORC void -orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, int n) +orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, + const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n) { int i; orc_union32 *ORC_RESTRICT ptr0; @@ -2067,20 +2261,42 @@ orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, /* 1: copyw */ var41.i = var37.i; /* 2: select0wb */ - var42 = (orc_uint16) var41.i & 0xff; + { + orc_union16 _src; + _src.i = var41.i; + var42 = _src.x2[0]; + } /* 3: select1wb */ - var43 = ((orc_uint16) var41.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var41.i; + var43 = _src.x2[1]; + } /* 4: loadb */ var38 = ptr5[i]; /* 5: mergebw */ - var44.i = ((orc_uint8) var42 & 0x00ff) | ((orc_uint8) var38 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var42; + _dest.x2[1] = var38; + var44.i = _dest.i; + } /* 6: loadb */ var39 = ptr6[i]; /* 7: mergebw */ - var45.i = ((orc_uint8) var43 & 0x00ff) | ((orc_uint8) var39 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var43; + _dest.x2[1] = var39; + var45.i = _dest.i; + } /* 8: mergewl */ - var40.i = - ((orc_uint16) var44.i & 0x0000ffff) | ((orc_uint16) var45.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var44.i; + _dest.x2[1] = var45.i; + var40.i = _dest.i; + } /* 9: storel */ ptr0[i] = var40; } @@ -2089,7 +2305,7 @@ orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, #else static void -_backup_orc_pack_yuyv (OrcExecutor * ex) +_backup_orc_pack_yuyv (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -2119,20 +2335,42 @@ _backup_orc_pack_yuyv (OrcExecutor * ex) /* 1: copyw */ var41.i = var37.i; /* 2: select0wb */ - var42 = (orc_uint16) var41.i & 0xff; + { + orc_union16 _src; + _src.i = var41.i; + var42 = _src.x2[0]; + } /* 3: select1wb */ - var43 = ((orc_uint16) var41.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var41.i; + var43 = _src.x2[1]; + } /* 4: loadb */ var38 = ptr5[i]; /* 5: mergebw */ - var44.i = ((orc_uint8) var42 & 0x00ff) | ((orc_uint8) var38 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var42; + _dest.x2[1] = var38; + var44.i = _dest.i; + } /* 6: loadb */ var39 = ptr6[i]; /* 7: mergebw */ - var45.i = ((orc_uint8) var43 & 0x00ff) | ((orc_uint8) var39 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var43; + _dest.x2[1] = var39; + var45.i = _dest.i; + } /* 8: mergewl */ - var40.i = - ((orc_uint16) var44.i & 0x0000ffff) | ((orc_uint16) var45.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var44.i; + _dest.x2[1] = var45.i; + var40.i = _dest.i; + } /* 9: storel */ ptr0[i] = var40; } @@ -2140,18 +2378,17 @@ _backup_orc_pack_yuyv (OrcExecutor * ex) } void -orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, int n) +orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, + const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_pack_yuyv"); @@ -2179,7 +2416,7 @@ orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -2201,7 +2438,8 @@ orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, /* orc_unpack_uyvy_y */ #ifdef DISABLE_ORC void -orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n) +orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -2217,7 +2455,11 @@ orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n) /* 0: loadw */ var32 = ptr4[i]; /* 1: select1wb */ - var33 = ((orc_uint16) var32.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var32.i; + var33 = _src.x2[1]; + } /* 2: storeb */ ptr0[i] = var33; } @@ -2226,7 +2468,7 @@ orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n) #else static void -_backup_orc_unpack_uyvy_y (OrcExecutor * ex) +_backup_orc_unpack_uyvy_y (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -2243,7 +2485,11 @@ _backup_orc_unpack_uyvy_y (OrcExecutor * ex) /* 0: loadw */ var32 = ptr4[i]; /* 1: select1wb */ - var33 = ((orc_uint16) var32.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var32.i; + var33 = _src.x2[1]; + } /* 2: storeb */ ptr0[i] = var33; } @@ -2251,17 +2497,17 @@ _backup_orc_unpack_uyvy_y (OrcExecutor * ex) } void -orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n) +orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1, + const orc_uint16 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_unpack_uyvy_y"); @@ -2272,7 +2518,7 @@ orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n) orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -2292,7 +2538,8 @@ orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n) /* orc_unpack_uyvy_u */ #ifdef DISABLE_ORC void -orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n) +orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -2309,9 +2556,17 @@ orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n) /* 0: loadl */ var33 = ptr4[i]; /* 1: select0lw */ - var35.i = (orc_uint32) var33.i & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[0]; + } /* 2: select0wb */ - var34 = (orc_uint16) var35.i & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[0]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -2320,7 +2575,7 @@ orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n) #else static void -_backup_orc_unpack_uyvy_u (OrcExecutor * ex) +_backup_orc_unpack_uyvy_u (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -2338,9 +2593,17 @@ _backup_orc_unpack_uyvy_u (OrcExecutor * ex) /* 0: loadl */ var33 = ptr4[i]; /* 1: select0lw */ - var35.i = (orc_uint32) var33.i & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[0]; + } /* 2: select0wb */ - var34 = (orc_uint16) var35.i & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[0]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -2348,17 +2611,17 @@ _backup_orc_unpack_uyvy_u (OrcExecutor * ex) } void -orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n) +orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_unpack_uyvy_u"); @@ -2372,7 +2635,7 @@ orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n) orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -2392,7 +2655,8 @@ orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n) /* orc_unpack_uyvy_v */ #ifdef DISABLE_ORC void -orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n) +orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -2409,9 +2673,17 @@ orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n) /* 0: loadl */ var33 = ptr4[i]; /* 1: select1lw */ - var35.i = ((orc_uint32) var33.i >> 16) & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[1]; + } /* 2: select0wb */ - var34 = (orc_uint16) var35.i & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[0]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -2420,7 +2692,7 @@ orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n) #else static void -_backup_orc_unpack_uyvy_v (OrcExecutor * ex) +_backup_orc_unpack_uyvy_v (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -2438,9 +2710,17 @@ _backup_orc_unpack_uyvy_v (OrcExecutor * ex) /* 0: loadl */ var33 = ptr4[i]; /* 1: select1lw */ - var35.i = ((orc_uint32) var33.i >> 16) & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[1]; + } /* 2: select0wb */ - var34 = (orc_uint16) var35.i & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[0]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -2448,17 +2728,17 @@ _backup_orc_unpack_uyvy_v (OrcExecutor * ex) } void -orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n) +orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_unpack_uyvy_v"); @@ -2472,7 +2752,7 @@ orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n) orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -2492,8 +2772,8 @@ orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n) /* orc_pack_uyvy */ #ifdef DISABLE_ORC void -orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, int n) +orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, + const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n) { int i; orc_union32 *ORC_RESTRICT ptr0; @@ -2522,20 +2802,42 @@ orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, /* 1: copyw */ var41.i = var37.i; /* 2: select0wb */ - var42 = (orc_uint16) var41.i & 0xff; + { + orc_union16 _src; + _src.i = var41.i; + var42 = _src.x2[0]; + } /* 3: select1wb */ - var43 = ((orc_uint16) var41.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var41.i; + var43 = _src.x2[1]; + } /* 4: loadb */ var38 = ptr5[i]; /* 5: mergebw */ - var44.i = ((orc_uint8) var38 & 0x00ff) | ((orc_uint8) var42 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var38; + _dest.x2[1] = var42; + var44.i = _dest.i; + } /* 6: loadb */ var39 = ptr6[i]; /* 7: mergebw */ - var45.i = ((orc_uint8) var39 & 0x00ff) | ((orc_uint8) var43 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var39; + _dest.x2[1] = var43; + var45.i = _dest.i; + } /* 8: mergewl */ - var40.i = - ((orc_uint16) var44.i & 0x0000ffff) | ((orc_uint16) var45.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var44.i; + _dest.x2[1] = var45.i; + var40.i = _dest.i; + } /* 9: storel */ ptr0[i] = var40; } @@ -2544,7 +2846,7 @@ orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, #else static void -_backup_orc_pack_uyvy (OrcExecutor * ex) +_backup_orc_pack_uyvy (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -2574,20 +2876,42 @@ _backup_orc_pack_uyvy (OrcExecutor * ex) /* 1: copyw */ var41.i = var37.i; /* 2: select0wb */ - var42 = (orc_uint16) var41.i & 0xff; + { + orc_union16 _src; + _src.i = var41.i; + var42 = _src.x2[0]; + } /* 3: select1wb */ - var43 = ((orc_uint16) var41.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var41.i; + var43 = _src.x2[1]; + } /* 4: loadb */ var38 = ptr5[i]; /* 5: mergebw */ - var44.i = ((orc_uint8) var38 & 0x00ff) | ((orc_uint8) var42 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var38; + _dest.x2[1] = var42; + var44.i = _dest.i; + } /* 6: loadb */ var39 = ptr6[i]; /* 7: mergebw */ - var45.i = ((orc_uint8) var39 & 0x00ff) | ((orc_uint8) var43 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var39; + _dest.x2[1] = var43; + var45.i = _dest.i; + } /* 8: mergewl */ - var40.i = - ((orc_uint16) var44.i & 0x0000ffff) | ((orc_uint16) var45.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var44.i; + _dest.x2[1] = var45.i; + var40.i = _dest.i; + } /* 9: storel */ ptr0[i] = var40; } @@ -2595,18 +2919,17 @@ _backup_orc_pack_uyvy (OrcExecutor * ex) } void -orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, int n) +orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, + const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_pack_uyvy"); @@ -2634,7 +2957,7 @@ orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -2656,7 +2979,8 @@ orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, /* orc_addc_convert_u8_s16 */ #ifdef DISABLE_ORC void -orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n) +orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1, + const gint16 * ORC_RESTRICT s1, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -2670,7 +2994,7 @@ orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n) ptr4 = (orc_union16 *) s1; /* 1: loadpw */ - var34.i = 0x00000080; /* 128 or 6.32404e-322f */ + var34.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -2687,7 +3011,7 @@ orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n) #else static void -_backup_orc_addc_convert_u8_s16 (OrcExecutor * ex) +_backup_orc_addc_convert_u8_s16 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -2702,7 +3026,7 @@ _backup_orc_addc_convert_u8_s16 (OrcExecutor * ex) ptr4 = (orc_union16 *) ex->arrays[4]; /* 1: loadpw */ - var34.i = 0x00000080; /* 128 or 6.32404e-322f */ + var34.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadw */ @@ -2718,17 +3042,17 @@ _backup_orc_addc_convert_u8_s16 (OrcExecutor * ex) } void -orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n) +orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1, + const gint16 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_addc_convert_u8_s16"); @@ -2743,7 +3067,7 @@ orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n) orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -2763,7 +3087,8 @@ orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n) /* orc_subc_convert_s16_u8 */ #ifdef DISABLE_ORC void -orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n) +orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, int n) { int i; orc_union16 *ORC_RESTRICT ptr0; @@ -2777,7 +3102,7 @@ orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n) ptr4 = (orc_int8 *) s1; /* 2: loadpw */ - var34.i = 0x00000080; /* 128 or 6.32404e-322f */ + var34.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -2794,7 +3119,7 @@ orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n) #else static void -_backup_orc_subc_convert_s16_u8 (OrcExecutor * ex) +_backup_orc_subc_convert_s16_u8 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -2809,7 +3134,7 @@ _backup_orc_subc_convert_s16_u8 (OrcExecutor * ex) ptr4 = (orc_int8 *) ex->arrays[4]; /* 2: loadpw */ - var34.i = 0x00000080; /* 128 or 6.32404e-322f */ + var34.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -2825,17 +3150,17 @@ _backup_orc_subc_convert_s16_u8 (OrcExecutor * ex) } void -orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n) +orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_subc_convert_s16_u8"); @@ -2850,7 +3175,7 @@ orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n) orc_program_append_2 (p, "subw", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_C1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -2870,7 +3195,7 @@ orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n) /* orc_splat_u8_ns */ #ifdef DISABLE_ORC void -orc_splat_u8_ns (orc_uint8 * d1, int p1, int n) +orc_splat_u8_ns (orc_uint8 * ORC_RESTRICT d1, int p1, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -2893,7 +3218,7 @@ orc_splat_u8_ns (orc_uint8 * d1, int p1, int n) #else static void -_backup_orc_splat_u8_ns (OrcExecutor * ex) +_backup_orc_splat_u8_ns (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -2916,17 +3241,16 @@ _backup_orc_splat_u8_ns (OrcExecutor * ex) } void -orc_splat_u8_ns (orc_uint8 * d1, int p1, int n) +orc_splat_u8_ns (orc_uint8 * ORC_RESTRICT d1, int p1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_splat_u8_ns"); @@ -2937,7 +3261,7 @@ orc_splat_u8_ns (orc_uint8 * d1, int p1, int n) orc_program_append_2 (p, "copyb", 0, ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -2957,7 +3281,7 @@ orc_splat_u8_ns (orc_uint8 * d1, int p1, int n) /* orc_splat_s16_ns */ #ifdef DISABLE_ORC void -orc_splat_s16_ns (gint16 * d1, int p1, int n) +orc_splat_s16_ns (gint16 * ORC_RESTRICT d1, int p1, int n) { int i; orc_union16 *ORC_RESTRICT ptr0; @@ -2980,7 +3304,7 @@ orc_splat_s16_ns (gint16 * d1, int p1, int n) #else static void -_backup_orc_splat_s16_ns (OrcExecutor * ex) +_backup_orc_splat_s16_ns (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -3003,17 +3327,16 @@ _backup_orc_splat_s16_ns (OrcExecutor * ex) } void -orc_splat_s16_ns (gint16 * d1, int p1, int n) +orc_splat_s16_ns (gint16 * ORC_RESTRICT d1, int p1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_splat_s16_ns"); @@ -3024,7 +3347,7 @@ orc_splat_s16_ns (gint16 * d1, int p1, int n) orc_program_append_2 (p, "copyw", 0, ORC_VAR_D1, ORC_VAR_P1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -3044,8 +3367,8 @@ orc_splat_s16_ns (gint16 * d1, int p1, int n) /* orc_matrix2_u8 */ #ifdef DISABLE_ORC void -orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, - int p2, int p3, int n) +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; @@ -3105,7 +3428,7 @@ orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, #else static void -_backup_orc_matrix2_u8 (OrcExecutor * ex) +_backup_orc_matrix2_u8 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -3165,18 +3488,17 @@ _backup_orc_matrix2_u8 (OrcExecutor * ex) } void -orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, - int p2, int p3, int n) +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 volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_matrix2_u8"); @@ -3208,7 +3530,7 @@ orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -3232,8 +3554,8 @@ orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, /* orc_matrix2_11_u8 */ #ifdef DISABLE_ORC void -orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, - int p2, int n) +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; @@ -3264,15 +3586,15 @@ orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, ptr5 = (orc_int8 *) s2; /* 2: loadpw */ - var37.i = 0x00000010; /* 16 or 7.90505e-323f */ + var37.i = (int) 0x00000010; /* 16 or 7.90505e-323f */ /* 4: loadpw */ var38.i = p1; /* 8: loadpw */ - var40.i = 0x00000080; /* 128 or 6.32404e-322f */ + var40.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 10: loadpw */ var41.i = p2; /* 13: loadpw */ - var42.i = 0x00000080; /* 128 or 6.32404e-322f */ + var42.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -3311,7 +3633,7 @@ orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, #else static void -_backup_orc_matrix2_11_u8 (OrcExecutor * ex) +_backup_orc_matrix2_11_u8 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -3343,15 +3665,15 @@ _backup_orc_matrix2_11_u8 (OrcExecutor * ex) ptr5 = (orc_int8 *) ex->arrays[5]; /* 2: loadpw */ - var37.i = 0x00000010; /* 16 or 7.90505e-323f */ + var37.i = (int) 0x00000010; /* 16 or 7.90505e-323f */ /* 4: loadpw */ var38.i = ex->params[24]; /* 8: loadpw */ - var40.i = 0x00000080; /* 128 or 6.32404e-322f */ + var40.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 10: loadpw */ var41.i = ex->params[25]; /* 13: loadpw */ - var42.i = 0x00000080; /* 128 or 6.32404e-322f */ + var42.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -3389,18 +3711,17 @@ _backup_orc_matrix2_11_u8 (OrcExecutor * ex) } void -orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, - int p2, int n) +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 volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_matrix2_11_u8"); @@ -3443,7 +3764,7 @@ orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -3466,8 +3787,8 @@ orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, /* orc_matrix2_12_u8 */ #ifdef DISABLE_ORC void -orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, - int p2, int n) +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; @@ -3499,15 +3820,15 @@ orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, ptr5 = (orc_int8 *) s2; /* 2: loadpw */ - var37.i = 0x00000010; /* 16 or 7.90505e-323f */ + var37.i = (int) 0x00000010; /* 16 or 7.90505e-323f */ /* 4: loadpw */ var38.i = p1; /* 8: loadpw */ - var40.i = 0x00000080; /* 128 or 6.32404e-322f */ + var40.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 10: loadpw */ var41.i = p2; /* 13: loadpw */ - var42.i = 0x00000080; /* 128 or 6.32404e-322f */ + var42.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -3548,7 +3869,7 @@ orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, #else static void -_backup_orc_matrix2_12_u8 (OrcExecutor * ex) +_backup_orc_matrix2_12_u8 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -3581,15 +3902,15 @@ _backup_orc_matrix2_12_u8 (OrcExecutor * ex) ptr5 = (orc_int8 *) ex->arrays[5]; /* 2: loadpw */ - var37.i = 0x00000010; /* 16 or 7.90505e-323f */ + var37.i = (int) 0x00000010; /* 16 or 7.90505e-323f */ /* 4: loadpw */ var38.i = ex->params[24]; /* 8: loadpw */ - var40.i = 0x00000080; /* 128 or 6.32404e-322f */ + var40.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 10: loadpw */ var41.i = ex->params[25]; /* 13: loadpw */ - var42.i = 0x00000080; /* 128 or 6.32404e-322f */ + var42.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -3629,18 +3950,17 @@ _backup_orc_matrix2_12_u8 (OrcExecutor * ex) } void -orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, - int p2, int n) +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 volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_matrix2_12_u8"); @@ -3685,7 +4005,7 @@ orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -3708,8 +4028,9 @@ orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, /* orc_matrix3_u8 */ #ifdef DISABLE_ORC void -orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, - const guint8 * s3, int p1, int p2, int p3, int p4, int n) +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; @@ -3786,7 +4107,7 @@ orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, #else static void -_backup_orc_matrix3_u8 (OrcExecutor * ex) +_backup_orc_matrix3_u8 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -3863,18 +4184,18 @@ _backup_orc_matrix3_u8 (OrcExecutor * ex) } void -orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, - const guint8 * s3, int p1, int p2, int p3, int p4, int n) +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 volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_matrix3_u8"); @@ -3914,7 +4235,7 @@ orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -3940,8 +4261,9 @@ orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, /* orc_matrix3_100_u8 */ #ifdef DISABLE_ORC void -orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, - const guint8 * s3, int p1, int p2, int p3, int n) +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; @@ -3980,19 +4302,19 @@ orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, ptr6 = (orc_int8 *) s3; /* 2: loadpw */ - var36.i = 0x00000010; /* 16 or 7.90505e-323f */ + var36.i = (int) 0x00000010; /* 16 or 7.90505e-323f */ /* 4: loadpw */ var37.i = p1; /* 8: loadpw */ - var39.i = 0x00000080; /* 128 or 6.32404e-322f */ + var39.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 10: loadpw */ var40.i = p2; /* 15: loadpw */ - var42.i = 0x00000080; /* 128 or 6.32404e-322f */ + var42.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 17: loadpw */ var43.i = p3; /* 20: loadpw */ - var44.i = 0x00000080; /* 128 or 6.32404e-322f */ + var44.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -4039,7 +4361,7 @@ orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, #else static void -_backup_orc_matrix3_100_u8 (OrcExecutor * ex) +_backup_orc_matrix3_100_u8 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -4079,19 +4401,19 @@ _backup_orc_matrix3_100_u8 (OrcExecutor * ex) ptr6 = (orc_int8 *) ex->arrays[6]; /* 2: loadpw */ - var36.i = 0x00000010; /* 16 or 7.90505e-323f */ + var36.i = (int) 0x00000010; /* 16 or 7.90505e-323f */ /* 4: loadpw */ var37.i = ex->params[24]; /* 8: loadpw */ - var39.i = 0x00000080; /* 128 or 6.32404e-322f */ + var39.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 10: loadpw */ var40.i = ex->params[25]; /* 15: loadpw */ - var42.i = 0x00000080; /* 128 or 6.32404e-322f */ + var42.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 17: loadpw */ var43.i = ex->params[26]; /* 20: loadpw */ - var44.i = 0x00000080; /* 128 or 6.32404e-322f */ + var44.i = (int) 0x00000080; /* 128 or 6.32404e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -4137,18 +4459,18 @@ _backup_orc_matrix3_100_u8 (OrcExecutor * ex) } void -orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, - const guint8 * s3, int p1, int p2, int p3, int n) +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 volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_matrix3_100_u8"); @@ -4198,7 +4520,7 @@ orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -4223,8 +4545,10 @@ orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, /* orc_matrix3_100_offset_u8 */ #ifdef DISABLE_ORC void -orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, - const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n) +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; @@ -4304,7 +4628,7 @@ orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, #else static void -_backup_orc_matrix3_100_offset_u8 (OrcExecutor * ex) +_backup_orc_matrix3_100_offset_u8 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -4384,18 +4708,19 @@ _backup_orc_matrix3_100_offset_u8 (OrcExecutor * ex) } void -orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, - const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n) +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 volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_matrix3_100_offset_u8"); @@ -4438,7 +4763,7 @@ orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -4465,8 +4790,9 @@ orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, /* orc_matrix3_000_u8 */ #ifdef DISABLE_ORC void -orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, - const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n) +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; @@ -4543,7 +4869,7 @@ orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, #else static void -_backup_orc_matrix3_000_u8 (OrcExecutor * ex) +_backup_orc_matrix3_000_u8 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -4620,18 +4946,18 @@ _backup_orc_matrix3_000_u8 (OrcExecutor * ex) } void -orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, - const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n) +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 volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_matrix3_000_u8"); @@ -4671,7 +4997,7 @@ orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, orc_program_append_2 (p, "convwb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -4698,8 +5024,9 @@ orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, /* orc_pack_123x */ #ifdef DISABLE_ORC void -orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, int p1, int n) +orc_pack_123x (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, + const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, + int p1, int n) { int i; orc_union32 *ORC_RESTRICT ptr0; @@ -4728,14 +5055,28 @@ orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, /* 1: loadb */ var35 = ptr5[i]; /* 2: mergebw */ - var39.i = ((orc_uint8) var34 & 0x00ff) | ((orc_uint8) var35 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var34; + _dest.x2[1] = var35; + var39.i = _dest.i; + } /* 3: loadb */ var36 = ptr6[i]; /* 5: mergebw */ - var40.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var36; + _dest.x2[1] = var37; + var40.i = _dest.i; + } /* 6: mergewl */ - var38.i = - ((orc_uint16) var39.i & 0x0000ffff) | ((orc_uint16) var40.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var39.i; + _dest.x2[1] = var40.i; + var38.i = _dest.i; + } /* 7: storel */ ptr0[i] = var38; } @@ -4744,7 +5085,7 @@ orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, #else static void -_backup_orc_pack_123x (OrcExecutor * ex) +_backup_orc_pack_123x (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -4774,14 +5115,28 @@ _backup_orc_pack_123x (OrcExecutor * ex) /* 1: loadb */ var35 = ptr5[i]; /* 2: mergebw */ - var39.i = ((orc_uint8) var34 & 0x00ff) | ((orc_uint8) var35 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var34; + _dest.x2[1] = var35; + var39.i = _dest.i; + } /* 3: loadb */ var36 = ptr6[i]; /* 5: mergebw */ - var40.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var36; + _dest.x2[1] = var37; + var40.i = _dest.i; + } /* 6: mergewl */ - var38.i = - ((orc_uint16) var39.i & 0x0000ffff) | ((orc_uint16) var40.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var39.i; + _dest.x2[1] = var40.i; + var38.i = _dest.i; + } /* 7: storel */ ptr0[i] = var38; } @@ -4789,18 +5144,18 @@ _backup_orc_pack_123x (OrcExecutor * ex) } void -orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, int p1, int n) +orc_pack_123x (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, + const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, + int p1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_pack_123x"); @@ -4820,7 +5175,7 @@ orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -4843,8 +5198,9 @@ orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, /* orc_pack_x123 */ #ifdef DISABLE_ORC void -orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, int p1, int n) +orc_pack_x123 (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, + const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, + int p1, int n) { int i; orc_union32 *ORC_RESTRICT ptr0; @@ -4871,16 +5227,30 @@ orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, /* 1: loadb */ var35 = ptr4[i]; /* 2: mergebw */ - var39.i = ((orc_uint8) var34 & 0x00ff) | ((orc_uint8) var35 << 8); + { + 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 */ - var40.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var36; + _dest.x2[1] = var37; + var40.i = _dest.i; + } /* 6: mergewl */ - var38.i = - ((orc_uint16) var39.i & 0x0000ffff) | ((orc_uint16) var40.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var39.i; + _dest.x2[1] = var40.i; + var38.i = _dest.i; + } /* 7: storel */ ptr0[i] = var38; } @@ -4889,7 +5259,7 @@ orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, #else static void -_backup_orc_pack_x123 (OrcExecutor * ex) +_backup_orc_pack_x123 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -4917,16 +5287,30 @@ _backup_orc_pack_x123 (OrcExecutor * ex) /* 1: loadb */ var35 = ptr4[i]; /* 2: mergebw */ - var39.i = ((orc_uint8) var34 & 0x00ff) | ((orc_uint8) var35 << 8); + { + 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 */ - var40.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var36; + _dest.x2[1] = var37; + var40.i = _dest.i; + } /* 6: mergewl */ - var38.i = - ((orc_uint16) var39.i & 0x0000ffff) | ((orc_uint16) var40.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var39.i; + _dest.x2[1] = var40.i; + var38.i = _dest.i; + } /* 7: storel */ ptr0[i] = var38; } @@ -4934,18 +5318,18 @@ _backup_orc_pack_x123 (OrcExecutor * ex) } void -orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, int p1, int n) +orc_pack_x123 (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, + const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, + int p1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "orc_pack_x123"); @@ -4965,7 +5349,7 @@ orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -4988,7 +5372,8 @@ orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, /* cogorc_combine2_u8 */ #ifdef DISABLE_ORC void -cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, +cogorc_combine2_u8 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p1, int p2, int n) { int i; @@ -5043,7 +5428,7 @@ cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, #else static void -_backup_cogorc_combine2_u8 (OrcExecutor * ex) +_backup_cogorc_combine2_u8 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -5097,18 +5482,18 @@ _backup_cogorc_combine2_u8 (OrcExecutor * ex) } void -cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, +cogorc_combine2_u8 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p1, int p2, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_combine2_u8"); @@ -5137,7 +5522,7 @@ cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -5160,9 +5545,10 @@ cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, /* cogorc_combine4_u8 */ #ifdef DISABLE_ORC void -cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, const orc_uint8 * s4, int p1, int p2, int p3, int p4, - int n) +cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, + int p1, int p2, int p3, int p4, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -5209,7 +5595,7 @@ cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, /* 16: loadpw */ var41.i = p4; /* 19: loadpw */ - var42.i = 0x00000020; /* 32 or 1.58101e-322f */ + var42.i = (int) 0x00000020; /* 32 or 1.58101e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -5256,7 +5642,7 @@ cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, #else static void -_backup_cogorc_combine4_u8 (OrcExecutor * ex) +_backup_cogorc_combine4_u8 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -5304,7 +5690,7 @@ _backup_cogorc_combine4_u8 (OrcExecutor * ex) /* 16: loadpw */ var41.i = ex->params[27]; /* 19: loadpw */ - var42.i = 0x00000020; /* 32 or 1.58101e-322f */ + var42.i = (int) 0x00000020; /* 32 or 1.58101e-322f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -5350,19 +5736,19 @@ _backup_cogorc_combine4_u8 (OrcExecutor * ex) } void -cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, - const orc_uint8 * s3, const orc_uint8 * s4, int p1, int p2, int p3, int p4, - int n) +cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, + int p1, int p2, int p3, int p4, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_combine4_u8"); @@ -5410,7 +5796,7 @@ cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -5437,7 +5823,8 @@ cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, /* cogorc_unpack_axyz_0 */ #ifdef DISABLE_ORC void -cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n) +cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -5454,9 +5841,17 @@ cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n) /* 0: loadl */ var33 = ptr4[i]; /* 1: select0lw */ - var35.i = (orc_uint32) var33.i & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[0]; + } /* 2: select0wb */ - var34 = (orc_uint16) var35.i & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[0]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -5465,7 +5860,7 @@ cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n) #else static void -_backup_cogorc_unpack_axyz_0 (OrcExecutor * ex) +_backup_cogorc_unpack_axyz_0 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -5483,9 +5878,17 @@ _backup_cogorc_unpack_axyz_0 (OrcExecutor * ex) /* 0: loadl */ var33 = ptr4[i]; /* 1: select0lw */ - var35.i = (orc_uint32) var33.i & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[0]; + } /* 2: select0wb */ - var34 = (orc_uint16) var35.i & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[0]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -5493,17 +5896,17 @@ _backup_cogorc_unpack_axyz_0 (OrcExecutor * ex) } void -cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n) +cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_unpack_axyz_0"); @@ -5517,7 +5920,7 @@ cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n) orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -5537,7 +5940,8 @@ cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n) /* cogorc_unpack_axyz_1 */ #ifdef DISABLE_ORC void -cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n) +cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -5554,9 +5958,17 @@ cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n) /* 0: loadl */ var33 = ptr4[i]; /* 1: select0lw */ - var35.i = (orc_uint32) var33.i & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[0]; + } /* 2: select1wb */ - var34 = ((orc_uint16) var35.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[1]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -5565,7 +5977,7 @@ cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n) #else static void -_backup_cogorc_unpack_axyz_1 (OrcExecutor * ex) +_backup_cogorc_unpack_axyz_1 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -5583,9 +5995,17 @@ _backup_cogorc_unpack_axyz_1 (OrcExecutor * ex) /* 0: loadl */ var33 = ptr4[i]; /* 1: select0lw */ - var35.i = (orc_uint32) var33.i & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[0]; + } /* 2: select1wb */ - var34 = ((orc_uint16) var35.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[1]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -5593,17 +6013,17 @@ _backup_cogorc_unpack_axyz_1 (OrcExecutor * ex) } void -cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n) +cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_unpack_axyz_1"); @@ -5617,7 +6037,7 @@ cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n) orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -5637,7 +6057,8 @@ cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n) /* cogorc_unpack_axyz_2 */ #ifdef DISABLE_ORC void -cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n) +cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -5654,9 +6075,17 @@ cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n) /* 0: loadl */ var33 = ptr4[i]; /* 1: select1lw */ - var35.i = ((orc_uint32) var33.i >> 16) & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[1]; + } /* 2: select0wb */ - var34 = (orc_uint16) var35.i & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[0]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -5665,7 +6094,7 @@ cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n) #else static void -_backup_cogorc_unpack_axyz_2 (OrcExecutor * ex) +_backup_cogorc_unpack_axyz_2 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -5683,9 +6112,17 @@ _backup_cogorc_unpack_axyz_2 (OrcExecutor * ex) /* 0: loadl */ var33 = ptr4[i]; /* 1: select1lw */ - var35.i = ((orc_uint32) var33.i >> 16) & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[1]; + } /* 2: select0wb */ - var34 = (orc_uint16) var35.i & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[0]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -5693,17 +6130,17 @@ _backup_cogorc_unpack_axyz_2 (OrcExecutor * ex) } void -cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n) +cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_unpack_axyz_2"); @@ -5717,7 +6154,7 @@ cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n) orc_program_append_2 (p, "select0wb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -5737,7 +6174,8 @@ cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n) /* cogorc_unpack_axyz_3 */ #ifdef DISABLE_ORC void -cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n) +cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -5754,9 +6192,17 @@ cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n) /* 0: loadl */ var33 = ptr4[i]; /* 1: select1lw */ - var35.i = ((orc_uint32) var33.i >> 16) & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[1]; + } /* 2: select1wb */ - var34 = ((orc_uint16) var35.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[1]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -5765,7 +6211,7 @@ cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n) #else static void -_backup_cogorc_unpack_axyz_3 (OrcExecutor * ex) +_backup_cogorc_unpack_axyz_3 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -5783,9 +6229,17 @@ _backup_cogorc_unpack_axyz_3 (OrcExecutor * ex) /* 0: loadl */ var33 = ptr4[i]; /* 1: select1lw */ - var35.i = ((orc_uint32) var33.i >> 16) & 0xffff; + { + orc_union32 _src; + _src.i = var33.i; + var35.i = _src.x2[1]; + } /* 2: select1wb */ - var34 = ((orc_uint16) var35.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var35.i; + var34 = _src.x2[1]; + } /* 3: storeb */ ptr0[i] = var34; } @@ -5793,17 +6247,17 @@ _backup_cogorc_unpack_axyz_3 (OrcExecutor * ex) } void -cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n) +cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1, + const orc_uint32 * ORC_RESTRICT s1, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_unpack_axyz_3"); @@ -5817,7 +6271,7 @@ cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n) orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -5837,8 +6291,8 @@ cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n) /* cogorc_resample_horiz_1tap */ #ifdef DISABLE_ORC void -cogorc_resample_horiz_1tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, - int p2, int n) +cogorc_resample_horiz_1tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -5860,7 +6314,7 @@ cogorc_resample_horiz_1tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, #else static void -_backup_cogorc_resample_horiz_1tap (OrcExecutor * ex) +_backup_cogorc_resample_horiz_1tap (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -5882,18 +6336,17 @@ _backup_cogorc_resample_horiz_1tap (OrcExecutor * ex) } void -cogorc_resample_horiz_1tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, - int p2, int n) +cogorc_resample_horiz_1tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_resample_horiz_1tap"); @@ -5906,7 +6359,7 @@ cogorc_resample_horiz_1tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, orc_program_append_2 (p, "ldresnearb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_P1, ORC_VAR_P2); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -5928,8 +6381,8 @@ cogorc_resample_horiz_1tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, /* cogorc_resample_horiz_2tap */ #ifdef DISABLE_ORC void -cogorc_resample_horiz_2tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, - int p2, int n) +cogorc_resample_horiz_2tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n) { int i; orc_int8 *ORC_RESTRICT ptr0; @@ -5956,7 +6409,7 @@ cogorc_resample_horiz_2tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, #else static void -_backup_cogorc_resample_horiz_2tap (OrcExecutor * ex) +_backup_cogorc_resample_horiz_2tap (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -5983,18 +6436,17 @@ _backup_cogorc_resample_horiz_2tap (OrcExecutor * ex) } void -cogorc_resample_horiz_2tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, - int p2, int n) +cogorc_resample_horiz_2tap (orc_uint8 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_resample_horiz_2tap"); @@ -6007,7 +6459,7 @@ cogorc_resample_horiz_2tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, orc_program_append_2 (p, "ldreslinb", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_P1, ORC_VAR_P2); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -6029,9 +6481,10 @@ cogorc_resample_horiz_2tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, /* cogorc_convert_I420_UYVY */ #ifdef DISABLE_ORC void -cogorc_convert_I420_UYVY (orc_uint32 * d1, orc_uint32 * d2, - const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3, - const orc_uint8 * s4, int n) +cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1, + orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1, + const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, + const orc_uint8 * ORC_RESTRICT s4, int n) { int i; orc_union32 *ORC_RESTRICT ptr0; @@ -6062,23 +6515,44 @@ cogorc_convert_I420_UYVY (orc_uint32 * d1, orc_uint32 * d2, /* 1: loadb */ var34 = ptr7[i]; /* 2: mergebw */ - var39.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var33; + _dest.x2[1] = var34; + var39.i = _dest.i; + } /* 3: loadw */ var35 = ptr4[i]; /* 4: mergebw */ - var36.x2[0] = - ((orc_uint8) var39.x2[0] & 0x00ff) | ((orc_uint8) var35.x2[0] << 8); - var36.x2[1] = - ((orc_uint8) var39.x2[1] & 0x00ff) | ((orc_uint8) var35.x2[1] << 8); + { + 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 */ - var38.x2[0] = - ((orc_uint8) var39.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8); - var38.x2[1] = - ((orc_uint8) var39.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8); + { + 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; } @@ -6087,7 +6561,7 @@ cogorc_convert_I420_UYVY (orc_uint32 * d1, orc_uint32 * d2, #else static void -_backup_cogorc_convert_I420_UYVY (OrcExecutor * ex) +_backup_cogorc_convert_I420_UYVY (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -6119,23 +6593,44 @@ _backup_cogorc_convert_I420_UYVY (OrcExecutor * ex) /* 1: loadb */ var34 = ptr7[i]; /* 2: mergebw */ - var39.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var33; + _dest.x2[1] = var34; + var39.i = _dest.i; + } /* 3: loadw */ var35 = ptr4[i]; /* 4: mergebw */ - var36.x2[0] = - ((orc_uint8) var39.x2[0] & 0x00ff) | ((orc_uint8) var35.x2[0] << 8); - var36.x2[1] = - ((orc_uint8) var39.x2[1] & 0x00ff) | ((orc_uint8) var35.x2[1] << 8); + { + 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 */ - var38.x2[0] = - ((orc_uint8) var39.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8); - var38.x2[1] = - ((orc_uint8) var39.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8); + { + 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; } @@ -6143,19 +6638,19 @@ _backup_cogorc_convert_I420_UYVY (OrcExecutor * ex) } void -cogorc_convert_I420_UYVY (orc_uint32 * d1, orc_uint32 * d2, - const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3, - const orc_uint8 * s4, int n) +cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1, + orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1, + const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, + const orc_uint8 * ORC_RESTRICT s4, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_convert_I420_UYVY"); @@ -6175,7 +6670,7 @@ cogorc_convert_I420_UYVY (orc_uint32 * d1, orc_uint32 * d2, orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D2, ORC_VAR_T1, ORC_VAR_S2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -6199,9 +6694,10 @@ cogorc_convert_I420_UYVY (orc_uint32 * d1, orc_uint32 * d2, /* cogorc_convert_I420_YUY2 */ #ifdef DISABLE_ORC void -cogorc_convert_I420_YUY2 (orc_uint32 * d1, orc_uint32 * d2, - const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3, - const orc_uint8 * s4, int n) +cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1, + orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1, + const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, + const orc_uint8 * ORC_RESTRICT s4, int n) { int i; orc_union32 *ORC_RESTRICT ptr0; @@ -6232,23 +6728,44 @@ cogorc_convert_I420_YUY2 (orc_uint32 * d1, orc_uint32 * d2, /* 1: loadb */ var34 = ptr7[i]; /* 2: mergebw */ - var39.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var33; + _dest.x2[1] = var34; + var39.i = _dest.i; + } /* 3: loadw */ var35 = ptr4[i]; /* 4: mergebw */ - var36.x2[0] = - ((orc_uint8) var35.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8); - var36.x2[1] = - ((orc_uint8) var35.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8); + { + 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 */ - var38.x2[0] = - ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8); - var38.x2[1] = - ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8); + { + 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; } @@ -6257,7 +6774,7 @@ cogorc_convert_I420_YUY2 (orc_uint32 * d1, orc_uint32 * d2, #else static void -_backup_cogorc_convert_I420_YUY2 (OrcExecutor * ex) +_backup_cogorc_convert_I420_YUY2 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -6289,23 +6806,44 @@ _backup_cogorc_convert_I420_YUY2 (OrcExecutor * ex) /* 1: loadb */ var34 = ptr7[i]; /* 2: mergebw */ - var39.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var33; + _dest.x2[1] = var34; + var39.i = _dest.i; + } /* 3: loadw */ var35 = ptr4[i]; /* 4: mergebw */ - var36.x2[0] = - ((orc_uint8) var35.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8); - var36.x2[1] = - ((orc_uint8) var35.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8); + { + 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 */ - var38.x2[0] = - ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8); - var38.x2[1] = - ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8); + { + 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; } @@ -6313,19 +6851,19 @@ _backup_cogorc_convert_I420_YUY2 (OrcExecutor * ex) } void -cogorc_convert_I420_YUY2 (orc_uint32 * d1, orc_uint32 * d2, - const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3, - const orc_uint8 * s4, int n) +cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1, + orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1, + const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, + const orc_uint8 * ORC_RESTRICT s4, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_convert_I420_YUY2"); @@ -6345,7 +6883,7 @@ cogorc_convert_I420_YUY2 (orc_uint32 * d1, orc_uint32 * d2, orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D2, ORC_VAR_S2, ORC_VAR_T1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -6369,9 +6907,10 @@ cogorc_convert_I420_YUY2 (orc_uint32 * d1, orc_uint32 * d2, /* cogorc_convert_I420_AYUV */ #ifdef DISABLE_ORC void -cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2, - const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, - const orc_uint8 * s4, int n) +cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1, + orc_uint32 * ORC_RESTRICT d2, const orc_uint8 * ORC_RESTRICT s1, + const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, + const orc_uint8 * ORC_RESTRICT s4, int n) { int i; orc_union32 *ORC_RESTRICT ptr0; @@ -6400,9 +6939,9 @@ cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2, ptr7 = (orc_int8 *) s4; /* 3: loadpb */ - var36 = 0x000000ff; /* 255 or 1.25987e-321f */ + var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 8: loadpb */ - var39 = 0x000000ff; /* 255 or 1.25987e-321f */ + var39 = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadupdb */ @@ -6410,23 +6949,46 @@ cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2, /* 1: loadupdb */ var43 = ptr7[i >> 1]; /* 2: mergebw */ - var44.i = ((orc_uint8) var42 & 0x00ff) | ((orc_uint8) var43 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var42; + _dest.x2[1] = var43; + var44.i = _dest.i; + } /* 4: loadb */ var37 = ptr4[i]; /* 5: mergebw */ - var45.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var36; + _dest.x2[1] = var37; + var45.i = _dest.i; + } /* 6: mergewl */ - var38.i = - ((orc_uint16) var45.i & 0x0000ffff) | ((orc_uint16) var44.i << 16); + { + 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 */ - var46.i = ((orc_uint8) var39 & 0x00ff) | ((orc_uint8) var40 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var39; + _dest.x2[1] = var40; + var46.i = _dest.i; + } /* 11: mergewl */ - var41.i = - ((orc_uint16) var46.i & 0x0000ffff) | ((orc_uint16) var44.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var46.i; + _dest.x2[1] = var44.i; + var41.i = _dest.i; + } /* 12: storel */ ptr1[i] = var41; } @@ -6435,7 +6997,7 @@ cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2, #else static void -_backup_cogorc_convert_I420_AYUV (OrcExecutor * ex) +_backup_cogorc_convert_I420_AYUV (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -6465,9 +7027,9 @@ _backup_cogorc_convert_I420_AYUV (OrcExecutor * ex) ptr7 = (orc_int8 *) ex->arrays[7]; /* 3: loadpb */ - var36 = 0x000000ff; /* 255 or 1.25987e-321f */ + var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 8: loadpb */ - var39 = 0x000000ff; /* 255 or 1.25987e-321f */ + var39 = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadupdb */ @@ -6475,23 +7037,46 @@ _backup_cogorc_convert_I420_AYUV (OrcExecutor * ex) /* 1: loadupdb */ var43 = ptr7[i >> 1]; /* 2: mergebw */ - var44.i = ((orc_uint8) var42 & 0x00ff) | ((orc_uint8) var43 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var42; + _dest.x2[1] = var43; + var44.i = _dest.i; + } /* 4: loadb */ var37 = ptr4[i]; /* 5: mergebw */ - var45.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var36; + _dest.x2[1] = var37; + var45.i = _dest.i; + } /* 6: mergewl */ - var38.i = - ((orc_uint16) var45.i & 0x0000ffff) | ((orc_uint16) var44.i << 16); + { + 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 */ - var46.i = ((orc_uint8) var39 & 0x00ff) | ((orc_uint8) var40 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var39; + _dest.x2[1] = var40; + var46.i = _dest.i; + } /* 11: mergewl */ - var41.i = - ((orc_uint16) var46.i & 0x0000ffff) | ((orc_uint16) var44.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var46.i; + _dest.x2[1] = var44.i; + var41.i = _dest.i; + } /* 12: storel */ ptr1[i] = var41; } @@ -6499,19 +7084,19 @@ _backup_cogorc_convert_I420_AYUV (OrcExecutor * ex) } void -cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2, - const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, - const orc_uint8 * s4, int n) +cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1, + orc_uint32 * ORC_RESTRICT d2, const orc_uint8 * ORC_RESTRICT s1, + const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, + const orc_uint8 * ORC_RESTRICT s4, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_convert_I420_AYUV"); @@ -6543,7 +7128,7 @@ cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2, orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D2, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -6567,8 +7152,10 @@ cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2, /* cogorc_convert_YUY2_I420 */ #ifdef DISABLE_ORC void -cogorc_convert_YUY2_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, - orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n) +cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1, + orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3, + orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1, + const orc_uint32 * ORC_RESTRICT s2, int n) { int i; orc_union16 *ORC_RESTRICT ptr0; @@ -6599,27 +7186,47 @@ cogorc_convert_YUY2_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, /* 0: loadl */ var35 = ptr4[i]; /* 1: splitwb */ - var39.x2[0] = (var35.x2[0] >> 8) & 0xff; - var40.x2[0] = var35.x2[0] & 0xff; - var39.x2[1] = (var35.x2[1] >> 8) & 0xff; - var40.x2[1] = var35.x2[1] & 0xff; + { + 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 */ - var41.x2[0] = (var36.x2[0] >> 8) & 0xff; - var42.x2[0] = var36.x2[0] & 0xff; - var41.x2[1] = (var36.x2[1] >> 8) & 0xff; - var42.x2[1] = var36.x2[1] & 0xff; + { + 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 */ - var37 = (var43.i >> 8) & 0xff; - var38 = var43.i & 0xff; + { + orc_union16 _src; + _src.i = var43.i; + var37 = _src.x2[1]; + var38 = _src.x2[0]; + } /* 8: storeb */ ptr3[i] = var37; /* 9: storeb */ @@ -6630,7 +7237,7 @@ cogorc_convert_YUY2_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, #else static void -_backup_cogorc_convert_YUY2_I420 (OrcExecutor * ex) +_backup_cogorc_convert_YUY2_I420 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -6662,27 +7269,47 @@ _backup_cogorc_convert_YUY2_I420 (OrcExecutor * ex) /* 0: loadl */ var35 = ptr4[i]; /* 1: splitwb */ - var39.x2[0] = (var35.x2[0] >> 8) & 0xff; - var40.x2[0] = var35.x2[0] & 0xff; - var39.x2[1] = (var35.x2[1] >> 8) & 0xff; - var40.x2[1] = var35.x2[1] & 0xff; + { + 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 */ - var41.x2[0] = (var36.x2[0] >> 8) & 0xff; - var42.x2[0] = var36.x2[0] & 0xff; - var41.x2[1] = (var36.x2[1] >> 8) & 0xff; - var42.x2[1] = var36.x2[1] & 0xff; + { + 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 */ - var37 = (var43.i >> 8) & 0xff; - var38 = var43.i & 0xff; + { + orc_union16 _src; + _src.i = var43.i; + var37 = _src.x2[1]; + var38 = _src.x2[0]; + } /* 8: storeb */ ptr3[i] = var37; /* 9: storeb */ @@ -6692,18 +7319,19 @@ _backup_cogorc_convert_YUY2_I420 (OrcExecutor * ex) } void -cogorc_convert_YUY2_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, - orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n) +cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1, + orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3, + orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1, + const orc_uint32 * ORC_RESTRICT s2, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_convert_YUY2_I420"); @@ -6731,7 +7359,7 @@ cogorc_convert_YUY2_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D4, ORC_VAR_D3, ORC_VAR_T1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -6755,8 +7383,8 @@ cogorc_convert_YUY2_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, /* cogorc_convert_UYVY_YUY2 */ #ifdef DISABLE_ORC void -cogorc_convert_UYVY_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_UYVY_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -6785,7 +7413,7 @@ cogorc_convert_UYVY_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, #else static void -_backup_cogorc_convert_UYVY_YUY2 (OrcExecutor * ex) +_backup_cogorc_convert_UYVY_YUY2 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -6815,18 +7443,17 @@ _backup_cogorc_convert_UYVY_YUY2 (OrcExecutor * ex) } void -cogorc_convert_UYVY_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_UYVY_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -6838,7 +7465,7 @@ cogorc_convert_UYVY_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, orc_program_append_2 (p, "swapw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -6861,8 +7488,9 @@ cogorc_convert_UYVY_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, /* cogorc_planar_chroma_420_422 */ #ifdef DISABLE_ORC void -cogorc_planar_chroma_420_422 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m) +cogorc_planar_chroma_420_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -6900,7 +7528,7 @@ cogorc_planar_chroma_420_422 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, #else static void -_backup_cogorc_planar_chroma_420_422 (OrcExecutor * ex) +_backup_cogorc_planar_chroma_420_422 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -6939,18 +7567,18 @@ _backup_cogorc_planar_chroma_420_422 (OrcExecutor * ex) } void -cogorc_planar_chroma_420_422 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m) +cogorc_planar_chroma_420_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -6965,7 +7593,7 @@ cogorc_planar_chroma_420_422 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, orc_program_append_2 (p, "copyb", 0, ORC_VAR_D2, ORC_VAR_S1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -6990,8 +7618,9 @@ cogorc_planar_chroma_420_422 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, /* cogorc_planar_chroma_420_444 */ #ifdef DISABLE_ORC void -cogorc_planar_chroma_420_444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, - int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m) +cogorc_planar_chroma_420_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint16 * ORC_RESTRICT d2, int d2_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -7023,7 +7652,7 @@ cogorc_planar_chroma_420_444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, #else static void -_backup_cogorc_planar_chroma_420_444 (OrcExecutor * ex) +_backup_cogorc_planar_chroma_420_444 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -7056,18 +7685,18 @@ _backup_cogorc_planar_chroma_420_444 (OrcExecutor * ex) } void -cogorc_planar_chroma_420_444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, - int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m) +cogorc_planar_chroma_420_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint16 * ORC_RESTRICT d2, int d2_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -7085,7 +7714,7 @@ cogorc_planar_chroma_420_444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, orc_program_append_2 (p, "storew", 0, ORC_VAR_D2, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -7110,8 +7739,8 @@ cogorc_planar_chroma_420_444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, /* cogorc_planar_chroma_422_444 */ #ifdef DISABLE_ORC void -cogorc_planar_chroma_422_444 (orc_uint16 * d1, int d1_stride, - const orc_uint8 * s1, int s1_stride, int n, int m) +cogorc_planar_chroma_422_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -7139,7 +7768,7 @@ cogorc_planar_chroma_422_444 (orc_uint16 * d1, int d1_stride, #else static void -_backup_cogorc_planar_chroma_422_444 (OrcExecutor * ex) +_backup_cogorc_planar_chroma_422_444 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -7168,18 +7797,17 @@ _backup_cogorc_planar_chroma_422_444 (OrcExecutor * ex) } void -cogorc_planar_chroma_422_444 (orc_uint16 * d1, int d1_stride, - const orc_uint8 * s1, int s1_stride, int n, int m) +cogorc_planar_chroma_422_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -7194,7 +7822,7 @@ cogorc_planar_chroma_422_444 (orc_uint16 * d1, int d1_stride, orc_program_append_2 (p, "storew", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -7217,8 +7845,8 @@ cogorc_planar_chroma_422_444 (orc_uint16 * d1, int d1_stride, /* cogorc_planar_chroma_444_422 */ #ifdef DISABLE_ORC void -cogorc_planar_chroma_444_422 (orc_uint8 * d1, int d1_stride, - const orc_uint16 * s1, int s1_stride, int n, int m) +cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -7238,8 +7866,12 @@ cogorc_planar_chroma_444_422 (orc_uint8 * d1, int d1_stride, /* 0: loadw */ var34 = ptr4[i]; /* 1: splitwb */ - var36 = (var34.i >> 8) & 0xff; - var37 = var34.i & 0xff; + { + 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 */ @@ -7251,7 +7883,7 @@ cogorc_planar_chroma_444_422 (orc_uint8 * d1, int d1_stride, #else static void -_backup_cogorc_planar_chroma_444_422 (OrcExecutor * ex) +_backup_cogorc_planar_chroma_444_422 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -7273,8 +7905,12 @@ _backup_cogorc_planar_chroma_444_422 (OrcExecutor * ex) /* 0: loadw */ var34 = ptr4[i]; /* 1: splitwb */ - var36 = (var34.i >> 8) & 0xff; - var37 = var34.i & 0xff; + { + 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 */ @@ -7285,18 +7921,17 @@ _backup_cogorc_planar_chroma_444_422 (OrcExecutor * ex) } void -cogorc_planar_chroma_444_422 (orc_uint8 * d1, int d1_stride, - const orc_uint16 * s1, int s1_stride, int n, int m) +cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -7312,7 +7947,7 @@ cogorc_planar_chroma_444_422 (orc_uint8 * d1, int d1_stride, orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -7335,9 +7970,9 @@ cogorc_planar_chroma_444_422 (orc_uint8 * d1, int d1_stride, /* cogorc_planar_chroma_444_420 */ #ifdef DISABLE_ORC void -cogorc_planar_chroma_444_420 (orc_uint8 * d1, int d1_stride, - const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, - int n, int m) +cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint16 * ORC_RESTRICT s2, int s2_stride, int n, int m) { int i; int j; @@ -7368,8 +8003,12 @@ cogorc_planar_chroma_444_420 (orc_uint8 * d1, int d1_stride, var38.x2[1] = ((orc_uint8) var35.x2[1] + (orc_uint8) var36.x2[1] + 1) >> 1; /* 3: splitwb */ - var39 = (var38.i >> 8) & 0xff; - var40 = var38.i & 0xff; + { + 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 */ @@ -7381,7 +8020,7 @@ cogorc_planar_chroma_444_420 (orc_uint8 * d1, int d1_stride, #else static void -_backup_cogorc_planar_chroma_444_420 (OrcExecutor * ex) +_backup_cogorc_planar_chroma_444_420 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -7414,8 +8053,12 @@ _backup_cogorc_planar_chroma_444_420 (OrcExecutor * ex) var38.x2[1] = ((orc_uint8) var35.x2[1] + (orc_uint8) var36.x2[1] + 1) >> 1; /* 3: splitwb */ - var39 = (var38.i >> 8) & 0xff; - var40 = var38.i & 0xff; + { + 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 */ @@ -7426,19 +8069,18 @@ _backup_cogorc_planar_chroma_444_420 (OrcExecutor * ex) } void -cogorc_planar_chroma_444_420 (orc_uint8 * d1, int d1_stride, - const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, - int n, int m) +cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint16 * ORC_RESTRICT s2, int s2_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -7458,7 +8100,7 @@ cogorc_planar_chroma_444_420 (orc_uint8 * d1, int d1_stride, orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T3, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -7483,9 +8125,9 @@ cogorc_planar_chroma_444_420 (orc_uint8 * d1, int d1_stride, /* cogorc_planar_chroma_422_420 */ #ifdef DISABLE_ORC void -cogorc_planar_chroma_422_420 (orc_uint8 * d1, int d1_stride, - const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, - int n, int m) +cogorc_planar_chroma_422_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, int n, int m) { int i; int j; @@ -7518,7 +8160,7 @@ cogorc_planar_chroma_422_420 (orc_uint8 * d1, int d1_stride, #else static void -_backup_cogorc_planar_chroma_422_420 (OrcExecutor * ex) +_backup_cogorc_planar_chroma_422_420 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -7552,19 +8194,18 @@ _backup_cogorc_planar_chroma_422_420 (OrcExecutor * ex) } void -cogorc_planar_chroma_422_420 (orc_uint8 * d1, int d1_stride, - const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, - int n, int m) +cogorc_planar_chroma_422_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -7577,7 +8218,7 @@ cogorc_planar_chroma_422_420 (orc_uint8 * d1, int d1_stride, orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -7602,8 +8243,8 @@ cogorc_planar_chroma_422_420 (orc_uint8 * d1, int d1_stride, /* cogorc_convert_YUY2_AYUV */ #ifdef DISABLE_ORC void -cogorc_convert_YUY2_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -7622,32 +8263,58 @@ cogorc_convert_YUY2_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j); /* 2: loadpb */ - var37.x2[0] = 0x000000ff; /* 255 or 1.25987e-321f */ - var37.x2[1] = 0x000000ff; /* 255 or 1.25987e-321f */ + 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 */ - var39.x2[0] = (var36.x2[0] >> 8) & 0xff; - var40.x2[0] = var36.x2[0] & 0xff; - var39.x2[1] = (var36.x2[1] >> 8) & 0xff; - var40.x2[1] = var36.x2[1] & 0xff; + { + 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 */ - var41.x2[0] = - ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var40.x2[0] << 8); - var41.x2[1] = - ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var40.x2[1] << 8); + { + 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 */ - var42.i = - ((orc_uint16) var39.i & 0x0000ffff) | ((orc_uint16) var39.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var39.i; + _dest.x2[1] = var39.i; + var42.i = _dest.i; + } /* 5: mergewl */ - var38.x2[0] = - ((orc_uint16) var41. - x2[0] & 0x0000ffff) | ((orc_uint16) var42.x2[0] << 16); - var38.x2[1] = - ((orc_uint16) var41. - x2[1] & 0x0000ffff) | ((orc_uint16) var42.x2[1] << 16); + { + 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; } @@ -7657,7 +8324,7 @@ cogorc_convert_YUY2_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, #else static void -_backup_cogorc_convert_YUY2_AYUV (OrcExecutor * ex) +_backup_cogorc_convert_YUY2_AYUV (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -7678,32 +8345,58 @@ _backup_cogorc_convert_YUY2_AYUV (OrcExecutor * ex) ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j); /* 2: loadpb */ - var37.x2[0] = 0x000000ff; /* 255 or 1.25987e-321f */ - var37.x2[1] = 0x000000ff; /* 255 or 1.25987e-321f */ + 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 */ - var39.x2[0] = (var36.x2[0] >> 8) & 0xff; - var40.x2[0] = var36.x2[0] & 0xff; - var39.x2[1] = (var36.x2[1] >> 8) & 0xff; - var40.x2[1] = var36.x2[1] & 0xff; + { + 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 */ - var41.x2[0] = - ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var40.x2[0] << 8); - var41.x2[1] = - ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var40.x2[1] << 8); + { + 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 */ - var42.i = - ((orc_uint16) var39.i & 0x0000ffff) | ((orc_uint16) var39.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var39.i; + _dest.x2[1] = var39.i; + var42.i = _dest.i; + } /* 5: mergewl */ - var38.x2[0] = - ((orc_uint16) var41. - x2[0] & 0x0000ffff) | ((orc_uint16) var42.x2[0] << 16); - var38.x2[1] = - ((orc_uint16) var41. - x2[1] & 0x0000ffff) | ((orc_uint16) var42.x2[1] << 16); + { + 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; } @@ -7712,18 +8405,17 @@ _backup_cogorc_convert_YUY2_AYUV (OrcExecutor * ex) } void -cogorc_convert_YUY2_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -7746,7 +8438,7 @@ cogorc_convert_YUY2_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -7769,8 +8461,8 @@ cogorc_convert_YUY2_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, /* cogorc_convert_UYVY_AYUV */ #ifdef DISABLE_ORC void -cogorc_convert_UYVY_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -7789,32 +8481,58 @@ cogorc_convert_UYVY_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j); /* 2: loadpb */ - var37.x2[0] = 0x000000ff; /* 255 or 1.25987e-321f */ - var37.x2[1] = 0x000000ff; /* 255 or 1.25987e-321f */ + 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 */ - var39.x2[0] = (var36.x2[0] >> 8) & 0xff; - var40.x2[0] = var36.x2[0] & 0xff; - var39.x2[1] = (var36.x2[1] >> 8) & 0xff; - var40.x2[1] = var36.x2[1] & 0xff; + { + 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 */ - var41.x2[0] = - ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8); - var41.x2[1] = - ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8); + { + 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 */ - var42.i = - ((orc_uint16) var40.i & 0x0000ffff) | ((orc_uint16) var40.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var40.i; + _dest.x2[1] = var40.i; + var42.i = _dest.i; + } /* 5: mergewl */ - var38.x2[0] = - ((orc_uint16) var41. - x2[0] & 0x0000ffff) | ((orc_uint16) var42.x2[0] << 16); - var38.x2[1] = - ((orc_uint16) var41. - x2[1] & 0x0000ffff) | ((orc_uint16) var42.x2[1] << 16); + { + 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; } @@ -7824,7 +8542,7 @@ cogorc_convert_UYVY_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, #else static void -_backup_cogorc_convert_UYVY_AYUV (OrcExecutor * ex) +_backup_cogorc_convert_UYVY_AYUV (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -7845,32 +8563,58 @@ _backup_cogorc_convert_UYVY_AYUV (OrcExecutor * ex) ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j); /* 2: loadpb */ - var37.x2[0] = 0x000000ff; /* 255 or 1.25987e-321f */ - var37.x2[1] = 0x000000ff; /* 255 or 1.25987e-321f */ + 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 */ - var39.x2[0] = (var36.x2[0] >> 8) & 0xff; - var40.x2[0] = var36.x2[0] & 0xff; - var39.x2[1] = (var36.x2[1] >> 8) & 0xff; - var40.x2[1] = var36.x2[1] & 0xff; + { + 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 */ - var41.x2[0] = - ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8); - var41.x2[1] = - ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8); + { + 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 */ - var42.i = - ((orc_uint16) var40.i & 0x0000ffff) | ((orc_uint16) var40.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var40.i; + _dest.x2[1] = var40.i; + var42.i = _dest.i; + } /* 5: mergewl */ - var38.x2[0] = - ((orc_uint16) var41. - x2[0] & 0x0000ffff) | ((orc_uint16) var42.x2[0] << 16); - var38.x2[1] = - ((orc_uint16) var41. - x2[1] & 0x0000ffff) | ((orc_uint16) var42.x2[1] << 16); + { + 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; } @@ -7879,18 +8623,17 @@ _backup_cogorc_convert_UYVY_AYUV (OrcExecutor * ex) } void -cogorc_convert_UYVY_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -7913,7 +8656,7 @@ cogorc_convert_UYVY_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T3, ORC_VAR_T4, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -7936,9 +8679,10 @@ cogorc_convert_UYVY_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, /* cogorc_convert_YUY2_Y42B */ #ifdef DISABLE_ORC void -cogorc_convert_YUY2_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m) { int i; int j; @@ -7963,15 +8707,27 @@ cogorc_convert_YUY2_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, /* 0: loadl */ var33 = ptr4[i]; /* 1: splitwb */ - var37.x2[0] = (var33.x2[0] >> 8) & 0xff; - var34.x2[0] = var33.x2[0] & 0xff; - var37.x2[1] = (var33.x2[1] >> 8) & 0xff; - var34.x2[1] = var33.x2[1] & 0xff; + { + 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 */ - var35 = (var37.i >> 8) & 0xff; - var36 = var37.i & 0xff; + { + orc_union16 _src; + _src.i = var37.i; + var35 = _src.x2[1]; + var36 = _src.x2[0]; + } /* 4: storeb */ ptr2[i] = var35; /* 5: storeb */ @@ -7983,7 +8739,7 @@ cogorc_convert_YUY2_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, #else static void -_backup_cogorc_convert_YUY2_Y42B (OrcExecutor * ex) +_backup_cogorc_convert_YUY2_Y42B (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -8010,15 +8766,27 @@ _backup_cogorc_convert_YUY2_Y42B (OrcExecutor * ex) /* 0: loadl */ var33 = ptr4[i]; /* 1: splitwb */ - var37.x2[0] = (var33.x2[0] >> 8) & 0xff; - var34.x2[0] = var33.x2[0] & 0xff; - var37.x2[1] = (var33.x2[1] >> 8) & 0xff; - var34.x2[1] = var33.x2[1] & 0xff; + { + 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 */ - var35 = (var37.i >> 8) & 0xff; - var36 = var37.i & 0xff; + { + orc_union16 _src; + _src.i = var37.i; + var35 = _src.x2[1]; + var36 = _src.x2[0]; + } /* 4: storeb */ ptr2[i] = var35; /* 5: storeb */ @@ -8029,19 +8797,19 @@ _backup_cogorc_convert_YUY2_Y42B (OrcExecutor * ex) } void -cogorc_convert_YUY2_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -8058,7 +8826,7 @@ cogorc_convert_YUY2_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -8085,9 +8853,10 @@ cogorc_convert_YUY2_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, /* cogorc_convert_UYVY_Y42B */ #ifdef DISABLE_ORC void -cogorc_convert_UYVY_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m) { int i; int j; @@ -8112,15 +8881,27 @@ cogorc_convert_UYVY_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, /* 0: loadl */ var33 = ptr4[i]; /* 1: splitwb */ - var34.x2[0] = (var33.x2[0] >> 8) & 0xff; - var37.x2[0] = var33.x2[0] & 0xff; - var34.x2[1] = (var33.x2[1] >> 8) & 0xff; - var37.x2[1] = var33.x2[1] & 0xff; + { + 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 */ - var35 = (var37.i >> 8) & 0xff; - var36 = var37.i & 0xff; + { + orc_union16 _src; + _src.i = var37.i; + var35 = _src.x2[1]; + var36 = _src.x2[0]; + } /* 4: storeb */ ptr2[i] = var35; /* 5: storeb */ @@ -8132,7 +8913,7 @@ cogorc_convert_UYVY_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, #else static void -_backup_cogorc_convert_UYVY_Y42B (OrcExecutor * ex) +_backup_cogorc_convert_UYVY_Y42B (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -8159,15 +8940,27 @@ _backup_cogorc_convert_UYVY_Y42B (OrcExecutor * ex) /* 0: loadl */ var33 = ptr4[i]; /* 1: splitwb */ - var34.x2[0] = (var33.x2[0] >> 8) & 0xff; - var37.x2[0] = var33.x2[0] & 0xff; - var34.x2[1] = (var33.x2[1] >> 8) & 0xff; - var37.x2[1] = var33.x2[1] & 0xff; + { + 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 */ - var35 = (var37.i >> 8) & 0xff; - var36 = var37.i & 0xff; + { + orc_union16 _src; + _src.i = var37.i; + var35 = _src.x2[1]; + var36 = _src.x2[0]; + } /* 4: storeb */ ptr2[i] = var35; /* 5: storeb */ @@ -8178,19 +8971,19 @@ _backup_cogorc_convert_UYVY_Y42B (OrcExecutor * ex) } void -cogorc_convert_UYVY_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -8207,7 +9000,7 @@ cogorc_convert_UYVY_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D3, ORC_VAR_D2, ORC_VAR_T1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -8234,9 +9027,10 @@ cogorc_convert_UYVY_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, /* cogorc_convert_YUY2_Y444 */ #ifdef DISABLE_ORC void -cogorc_convert_YUY2_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, - int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m) { int i; int j; @@ -8263,15 +9057,27 @@ cogorc_convert_YUY2_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, /* 0: loadl */ var35 = ptr4[i]; /* 1: splitwb */ - var39.x2[0] = (var35.x2[0] >> 8) & 0xff; - var36.x2[0] = var35.x2[0] & 0xff; - var39.x2[1] = (var35.x2[1] >> 8) & 0xff; - var36.x2[1] = var35.x2[1] & 0xff; + { + 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 */ - var40 = (var39.i >> 8) & 0xff; - var41 = var39.i & 0xff; + { + 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 */ @@ -8287,7 +9093,7 @@ cogorc_convert_YUY2_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, #else static void -_backup_cogorc_convert_YUY2_Y444 (OrcExecutor * ex) +_backup_cogorc_convert_YUY2_Y444 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -8316,15 +9122,27 @@ _backup_cogorc_convert_YUY2_Y444 (OrcExecutor * ex) /* 0: loadl */ var35 = ptr4[i]; /* 1: splitwb */ - var39.x2[0] = (var35.x2[0] >> 8) & 0xff; - var36.x2[0] = var35.x2[0] & 0xff; - var39.x2[1] = (var35.x2[1] >> 8) & 0xff; - var36.x2[1] = var35.x2[1] & 0xff; + { + 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 */ - var40 = (var39.i >> 8) & 0xff; - var41 = var39.i & 0xff; + { + 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 */ @@ -8339,19 +9157,19 @@ _backup_cogorc_convert_YUY2_Y444 (OrcExecutor * ex) } void -cogorc_convert_YUY2_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, - int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -8374,7 +9192,7 @@ cogorc_convert_YUY2_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D3, ORC_VAR_T3, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -8401,9 +9219,10 @@ cogorc_convert_YUY2_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, /* cogorc_convert_UYVY_Y444 */ #ifdef DISABLE_ORC void -cogorc_convert_UYVY_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, - int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m) { int i; int j; @@ -8430,15 +9249,27 @@ cogorc_convert_UYVY_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, /* 0: loadl */ var35 = ptr4[i]; /* 1: splitwb */ - var36.x2[0] = (var35.x2[0] >> 8) & 0xff; - var39.x2[0] = var35.x2[0] & 0xff; - var36.x2[1] = (var35.x2[1] >> 8) & 0xff; - var39.x2[1] = var35.x2[1] & 0xff; + { + 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 */ - var40 = (var39.i >> 8) & 0xff; - var41 = var39.i & 0xff; + { + 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 */ @@ -8454,7 +9285,7 @@ cogorc_convert_UYVY_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, #else static void -_backup_cogorc_convert_UYVY_Y444 (OrcExecutor * ex) +_backup_cogorc_convert_UYVY_Y444 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -8483,15 +9314,27 @@ _backup_cogorc_convert_UYVY_Y444 (OrcExecutor * ex) /* 0: loadl */ var35 = ptr4[i]; /* 1: splitwb */ - var36.x2[0] = (var35.x2[0] >> 8) & 0xff; - var39.x2[0] = var35.x2[0] & 0xff; - var36.x2[1] = (var35.x2[1] >> 8) & 0xff; - var39.x2[1] = var35.x2[1] & 0xff; + { + 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 */ - var40 = (var39.i >> 8) & 0xff; - var41 = var39.i & 0xff; + { + 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 */ @@ -8506,19 +9349,19 @@ _backup_cogorc_convert_UYVY_Y444 (OrcExecutor * ex) } void -cogorc_convert_UYVY_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, - int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -8541,7 +9384,7 @@ cogorc_convert_UYVY_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, orc_program_append_2 (p, "splatbw", 0, ORC_VAR_D3, ORC_VAR_T3, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -8568,8 +9411,10 @@ cogorc_convert_UYVY_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, /* cogorc_convert_UYVY_I420 */ #ifdef DISABLE_ORC void -cogorc_convert_UYVY_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, - orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n) +cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1, + orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3, + orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1, + const orc_uint32 * ORC_RESTRICT s2, int n) { int i; orc_union16 *ORC_RESTRICT ptr0; @@ -8600,27 +9445,47 @@ cogorc_convert_UYVY_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, /* 0: loadl */ var35 = ptr4[i]; /* 1: splitwb */ - var39.x2[0] = (var35.x2[0] >> 8) & 0xff; - var40.x2[0] = var35.x2[0] & 0xff; - var39.x2[1] = (var35.x2[1] >> 8) & 0xff; - var40.x2[1] = var35.x2[1] & 0xff; + { + 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 */ - var41.x2[0] = (var36.x2[0] >> 8) & 0xff; - var42.x2[0] = var36.x2[0] & 0xff; - var41.x2[1] = (var36.x2[1] >> 8) & 0xff; - var42.x2[1] = var36.x2[1] & 0xff; + { + 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 */ - var37 = (var43.i >> 8) & 0xff; - var38 = var43.i & 0xff; + { + orc_union16 _src; + _src.i = var43.i; + var37 = _src.x2[1]; + var38 = _src.x2[0]; + } /* 8: storeb */ ptr3[i] = var37; /* 9: storeb */ @@ -8631,7 +9496,7 @@ cogorc_convert_UYVY_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, #else static void -_backup_cogorc_convert_UYVY_I420 (OrcExecutor * ex) +_backup_cogorc_convert_UYVY_I420 (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -8663,27 +9528,47 @@ _backup_cogorc_convert_UYVY_I420 (OrcExecutor * ex) /* 0: loadl */ var35 = ptr4[i]; /* 1: splitwb */ - var39.x2[0] = (var35.x2[0] >> 8) & 0xff; - var40.x2[0] = var35.x2[0] & 0xff; - var39.x2[1] = (var35.x2[1] >> 8) & 0xff; - var40.x2[1] = var35.x2[1] & 0xff; + { + 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 */ - var41.x2[0] = (var36.x2[0] >> 8) & 0xff; - var42.x2[0] = var36.x2[0] & 0xff; - var41.x2[1] = (var36.x2[1] >> 8) & 0xff; - var42.x2[1] = var36.x2[1] & 0xff; + { + 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 */ - var37 = (var43.i >> 8) & 0xff; - var38 = var43.i & 0xff; + { + orc_union16 _src; + _src.i = var43.i; + var37 = _src.x2[1]; + var38 = _src.x2[0]; + } /* 8: storeb */ ptr3[i] = var37; /* 9: storeb */ @@ -8693,18 +9578,19 @@ _backup_cogorc_convert_UYVY_I420 (OrcExecutor * ex) } void -cogorc_convert_UYVY_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, - orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n) +cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1, + orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3, + orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1, + const orc_uint32 * ORC_RESTRICT s2, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_convert_UYVY_I420"); @@ -8732,7 +9618,7 @@ cogorc_convert_UYVY_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, orc_program_append_2 (p, "splitwb", 0, ORC_VAR_D4, ORC_VAR_D3, ORC_VAR_T1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -8756,10 +9642,11 @@ cogorc_convert_UYVY_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, /* cogorc_convert_AYUV_I420 */ #ifdef DISABLE_ORC void -cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, orc_uint8 * d4, int d4_stride, - const orc_uint64 * s1, int s1_stride, const orc_uint64 * s2, int s2_stride, - int n, int m) +cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, orc_uint8 * ORC_RESTRICT d4, int d4_stride, + const orc_uint64 * ORC_RESTRICT s1, int s1_stride, + const orc_uint64 * ORC_RESTRICT s2, int s2_stride, int n, int m) { int i; int j; @@ -8800,25 +9687,57 @@ cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, /* 0: loadq */ var40 = ptr4[i]; /* 1: splitlw */ - var46.x2[0] = (var40.x2[0] >> 16) & 0xffff; - var47.x2[0] = var40.x2[0] & 0xffff; - var46.x2[1] = (var40.x2[1] >> 16) & 0xffff; - var47.x2[1] = var40.x2[1] & 0xffff; + { + 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 */ - var41.x2[0] = ((orc_uint16) var47.x2[0] >> 8) & 0xff; - var41.x2[1] = ((orc_uint16) var47.x2[1] >> 8) & 0xff; + { + 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 */ - var48.x2[0] = (var42.x2[0] >> 16) & 0xffff; - var49.x2[0] = var42.x2[0] & 0xffff; - var48.x2[1] = (var42.x2[1] >> 16) & 0xffff; - var49.x2[1] = var42.x2[1] & 0xffff; + { + 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 */ - var43.x2[0] = ((orc_uint16) var49.x2[0] >> 8) & 0xff; - var43.x2[1] = ((orc_uint16) var49.x2[1] >> 8) & 0xff; + { + 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 */ @@ -8831,20 +9750,36 @@ cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, var50.x4[3] = ((orc_uint8) var46.x4[3] + (orc_uint8) var48.x4[3] + 1) >> 1; /* 9: splitwb */ - var51.x2[0] = (var50.x2[0] >> 8) & 0xff; - var52.x2[0] = var50.x2[0] & 0xff; - var51.x2[1] = (var50.x2[1] >> 8) & 0xff; - var52.x2[1] = var50.x2[1] & 0xff; + { + 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 */ - var53 = (var52.i >> 8) & 0xff; - var54 = var52.i & 0xff; + { + 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 */ - var55 = (var51.i >> 8) & 0xff; - var56 = var51.i & 0xff; + { + 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 */ @@ -8856,7 +9791,7 @@ cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, #else static void -_backup_cogorc_convert_AYUV_I420 (OrcExecutor * ex) +_backup_cogorc_convert_AYUV_I420 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -8899,25 +9834,57 @@ _backup_cogorc_convert_AYUV_I420 (OrcExecutor * ex) /* 0: loadq */ var40 = ptr4[i]; /* 1: splitlw */ - var46.x2[0] = (var40.x2[0] >> 16) & 0xffff; - var47.x2[0] = var40.x2[0] & 0xffff; - var46.x2[1] = (var40.x2[1] >> 16) & 0xffff; - var47.x2[1] = var40.x2[1] & 0xffff; + { + 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 */ - var41.x2[0] = ((orc_uint16) var47.x2[0] >> 8) & 0xff; - var41.x2[1] = ((orc_uint16) var47.x2[1] >> 8) & 0xff; + { + 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 */ - var48.x2[0] = (var42.x2[0] >> 16) & 0xffff; - var49.x2[0] = var42.x2[0] & 0xffff; - var48.x2[1] = (var42.x2[1] >> 16) & 0xffff; - var49.x2[1] = var42.x2[1] & 0xffff; + { + 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 */ - var43.x2[0] = ((orc_uint16) var49.x2[0] >> 8) & 0xff; - var43.x2[1] = ((orc_uint16) var49.x2[1] >> 8) & 0xff; + { + 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 */ @@ -8930,20 +9897,36 @@ _backup_cogorc_convert_AYUV_I420 (OrcExecutor * ex) var50.x4[3] = ((orc_uint8) var46.x4[3] + (orc_uint8) var48.x4[3] + 1) >> 1; /* 9: splitwb */ - var51.x2[0] = (var50.x2[0] >> 8) & 0xff; - var52.x2[0] = var50.x2[0] & 0xff; - var51.x2[1] = (var50.x2[1] >> 8) & 0xff; - var52.x2[1] = var50.x2[1] & 0xff; + { + 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 */ - var53 = (var52.i >> 8) & 0xff; - var54 = var52.i & 0xff; + { + 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 */ - var55 = (var51.i >> 8) & 0xff; - var56 = var51.i & 0xff; + { + 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 */ @@ -8954,20 +9937,20 @@ _backup_cogorc_convert_AYUV_I420 (OrcExecutor * ex) } void -cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, orc_uint8 * d4, int d4_stride, - const orc_uint64 * s1, int s1_stride, const orc_uint64 * s2, int s2_stride, - int n, int m) +cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, orc_uint8 * ORC_RESTRICT d4, int d4_stride, + const orc_uint64 * ORC_RESTRICT s1, int s1_stride, + const orc_uint64 * ORC_RESTRICT s2, int s2_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -9009,7 +9992,7 @@ cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, orc_program_append_2 (p, "avgub", 0, ORC_VAR_D4, ORC_VAR_T7, ORC_VAR_T8, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -9040,8 +10023,8 @@ cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, /* cogorc_convert_AYUV_YUY2 */ #ifdef DISABLE_ORC void -cogorc_convert_AYUV_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -9065,26 +10048,54 @@ cogorc_convert_AYUV_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, /* 0: loadq */ var37 = ptr4[i]; /* 1: splitlw */ - var39.x2[0] = (var37.x2[0] >> 16) & 0xffff; - var40.x2[0] = var37.x2[0] & 0xffff; - var39.x2[1] = (var37.x2[1] >> 16) & 0xffff; - var40.x2[1] = var37.x2[1] & 0xffff; + { + 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 */ - var41.i = (var39.i >> 16) & 0xffff; - var42.i = var39.i & 0xffff; + { + 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 */ - var44.x2[0] = ((orc_uint16) var40.x2[0] >> 8) & 0xff; - var44.x2[1] = ((orc_uint16) var40.x2[1] >> 8) & 0xff; + { + 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 */ - var38.x2[0] = - ((orc_uint8) var44.x2[0] & 0x00ff) | ((orc_uint8) var43.x2[0] << 8); - var38.x2[1] = - ((orc_uint8) var44.x2[1] & 0x00ff) | ((orc_uint8) var43.x2[1] << 8); + { + 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; } @@ -9094,7 +10105,7 @@ cogorc_convert_AYUV_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, #else static void -_backup_cogorc_convert_AYUV_YUY2 (OrcExecutor * ex) +_backup_cogorc_convert_AYUV_YUY2 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -9120,26 +10131,54 @@ _backup_cogorc_convert_AYUV_YUY2 (OrcExecutor * ex) /* 0: loadq */ var37 = ptr4[i]; /* 1: splitlw */ - var39.x2[0] = (var37.x2[0] >> 16) & 0xffff; - var40.x2[0] = var37.x2[0] & 0xffff; - var39.x2[1] = (var37.x2[1] >> 16) & 0xffff; - var40.x2[1] = var37.x2[1] & 0xffff; + { + 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 */ - var41.i = (var39.i >> 16) & 0xffff; - var42.i = var39.i & 0xffff; + { + 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 */ - var44.x2[0] = ((orc_uint16) var40.x2[0] >> 8) & 0xff; - var44.x2[1] = ((orc_uint16) var40.x2[1] >> 8) & 0xff; + { + 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 */ - var38.x2[0] = - ((orc_uint8) var44.x2[0] & 0x00ff) | ((orc_uint8) var43.x2[0] << 8); - var38.x2[1] = - ((orc_uint8) var44.x2[1] & 0x00ff) | ((orc_uint8) var43.x2[1] << 8); + { + 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; } @@ -9148,18 +10187,17 @@ _backup_cogorc_convert_AYUV_YUY2 (OrcExecutor * ex) } void -cogorc_convert_AYUV_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -9184,7 +10222,7 @@ cogorc_convert_AYUV_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_T2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -9207,8 +10245,8 @@ cogorc_convert_AYUV_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, /* cogorc_convert_AYUV_UYVY */ #ifdef DISABLE_ORC void -cogorc_convert_AYUV_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -9232,26 +10270,54 @@ cogorc_convert_AYUV_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, /* 0: loadq */ var37 = ptr4[i]; /* 1: splitlw */ - var39.x2[0] = (var37.x2[0] >> 16) & 0xffff; - var40.x2[0] = var37.x2[0] & 0xffff; - var39.x2[1] = (var37.x2[1] >> 16) & 0xffff; - var40.x2[1] = var37.x2[1] & 0xffff; + { + 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 */ - var41.i = (var39.i >> 16) & 0xffff; - var42.i = var39.i & 0xffff; + { + 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 */ - var44.x2[0] = ((orc_uint16) var40.x2[0] >> 8) & 0xff; - var44.x2[1] = ((orc_uint16) var40.x2[1] >> 8) & 0xff; + { + 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 */ - var38.x2[0] = - ((orc_uint8) var43.x2[0] & 0x00ff) | ((orc_uint8) var44.x2[0] << 8); - var38.x2[1] = - ((orc_uint8) var43.x2[1] & 0x00ff) | ((orc_uint8) var44.x2[1] << 8); + { + 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; } @@ -9261,7 +10327,7 @@ cogorc_convert_AYUV_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, #else static void -_backup_cogorc_convert_AYUV_UYVY (OrcExecutor * ex) +_backup_cogorc_convert_AYUV_UYVY (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -9287,26 +10353,54 @@ _backup_cogorc_convert_AYUV_UYVY (OrcExecutor * ex) /* 0: loadq */ var37 = ptr4[i]; /* 1: splitlw */ - var39.x2[0] = (var37.x2[0] >> 16) & 0xffff; - var40.x2[0] = var37.x2[0] & 0xffff; - var39.x2[1] = (var37.x2[1] >> 16) & 0xffff; - var40.x2[1] = var37.x2[1] & 0xffff; + { + 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 */ - var41.i = (var39.i >> 16) & 0xffff; - var42.i = var39.i & 0xffff; + { + 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 */ - var44.x2[0] = ((orc_uint16) var40.x2[0] >> 8) & 0xff; - var44.x2[1] = ((orc_uint16) var40.x2[1] >> 8) & 0xff; + { + 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 */ - var38.x2[0] = - ((orc_uint8) var43.x2[0] & 0x00ff) | ((orc_uint8) var44.x2[0] << 8); - var38.x2[1] = - ((orc_uint8) var43.x2[1] & 0x00ff) | ((orc_uint8) var44.x2[1] << 8); + { + 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; } @@ -9315,18 +10409,17 @@ _backup_cogorc_convert_AYUV_UYVY (OrcExecutor * ex) } void -cogorc_convert_AYUV_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -9351,7 +10444,7 @@ cogorc_convert_AYUV_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -9374,9 +10467,10 @@ cogorc_convert_AYUV_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, /* cogorc_convert_AYUV_Y42B */ #ifdef DISABLE_ORC void -cogorc_convert_AYUV_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint64 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, + int m) { int i; int j; @@ -9405,28 +10499,52 @@ cogorc_convert_AYUV_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, /* 0: loadq */ var36 = ptr4[i]; /* 1: splitlw */ - var40.x2[0] = (var36.x2[0] >> 16) & 0xffff; - var41.x2[0] = var36.x2[0] & 0xffff; - var40.x2[1] = (var36.x2[1] >> 16) & 0xffff; - var41.x2[1] = var36.x2[1] & 0xffff; + { + 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 */ - var42.i = (var40.i >> 16) & 0xffff; - var43.i = var40.i & 0xffff; + { + 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 */ - var37 = (var44.i >> 8) & 0xff; - var38 = var44.i & 0xff; + { + 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 */ - var39.x2[0] = ((orc_uint16) var41.x2[0] >> 8) & 0xff; - var39.x2[1] = ((orc_uint16) var41.x2[1] >> 8) & 0xff; + { + 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; } @@ -9436,7 +10554,7 @@ cogorc_convert_AYUV_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, #else static void -_backup_cogorc_convert_AYUV_Y42B (OrcExecutor * ex) +_backup_cogorc_convert_AYUV_Y42B (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -9467,28 +10585,52 @@ _backup_cogorc_convert_AYUV_Y42B (OrcExecutor * ex) /* 0: loadq */ var36 = ptr4[i]; /* 1: splitlw */ - var40.x2[0] = (var36.x2[0] >> 16) & 0xffff; - var41.x2[0] = var36.x2[0] & 0xffff; - var40.x2[1] = (var36.x2[1] >> 16) & 0xffff; - var41.x2[1] = var36.x2[1] & 0xffff; + { + 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 */ - var42.i = (var40.i >> 16) & 0xffff; - var43.i = var40.i & 0xffff; + { + 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 */ - var37 = (var44.i >> 8) & 0xff; - var38 = var44.i & 0xff; + { + 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 */ - var39.x2[0] = ((orc_uint16) var41.x2[0] >> 8) & 0xff; - var39.x2[1] = ((orc_uint16) var41.x2[1] >> 8) & 0xff; + { + 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; } @@ -9497,19 +10639,19 @@ _backup_cogorc_convert_AYUV_Y42B (OrcExecutor * ex) } void -cogorc_convert_AYUV_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint64 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, + int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -9535,7 +10677,7 @@ cogorc_convert_AYUV_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, orc_program_append_2 (p, "select1wb", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -9562,9 +10704,10 @@ cogorc_convert_AYUV_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, /* cogorc_convert_AYUV_Y444 */ #ifdef DISABLE_ORC void -cogorc_convert_AYUV_Y444 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m) { int i; int j; @@ -9590,17 +10733,29 @@ cogorc_convert_AYUV_Y444 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, /* 0: loadl */ var34 = ptr4[i]; /* 1: splitlw */ - var38.i = (var34.i >> 16) & 0xffff; - var39.i = var34.i & 0xffff; + { + orc_union32 _src; + _src.i = var34.i; + var38.i = _src.x2[1]; + var39.i = _src.x2[0]; + } /* 2: splitwb */ - var35 = (var38.i >> 8) & 0xff; - var36 = var38.i & 0xff; + { + 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 */ - var37 = ((orc_uint16) var39.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var39.i; + var37 = _src.x2[1]; + } /* 6: storeb */ ptr0[i] = var37; } @@ -9610,7 +10765,7 @@ cogorc_convert_AYUV_Y444 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, #else static void -_backup_cogorc_convert_AYUV_Y444 (OrcExecutor * ex) +_backup_cogorc_convert_AYUV_Y444 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -9638,17 +10793,29 @@ _backup_cogorc_convert_AYUV_Y444 (OrcExecutor * ex) /* 0: loadl */ var34 = ptr4[i]; /* 1: splitlw */ - var38.i = (var34.i >> 16) & 0xffff; - var39.i = var34.i & 0xffff; + { + orc_union32 _src; + _src.i = var34.i; + var38.i = _src.x2[1]; + var39.i = _src.x2[0]; + } /* 2: splitwb */ - var35 = (var38.i >> 8) & 0xff; - var36 = var38.i & 0xff; + { + 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 */ - var37 = ((orc_uint16) var39.i >> 8) & 0xff; + { + orc_union16 _src; + _src.i = var39.i; + var37 = _src.x2[1]; + } /* 6: storeb */ ptr0[i] = var37; } @@ -9657,19 +10824,19 @@ _backup_cogorc_convert_AYUV_Y444 (OrcExecutor * ex) } void -cogorc_convert_AYUV_Y444 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, - int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, + orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, + int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, + int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -9689,7 +10856,7 @@ cogorc_convert_AYUV_Y444 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, orc_program_append_2 (p, "select1wb", 0, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -9716,9 +10883,10 @@ cogorc_convert_AYUV_Y444 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, /* cogorc_convert_Y42B_YUY2 */ #ifdef DISABLE_ORC void -cogorc_convert_Y42B_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, - int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, - int s3_stride, int n, int m) +cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, + const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m) { int i; int j; @@ -9745,14 +10913,27 @@ cogorc_convert_Y42B_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, /* 1: loadb */ var34 = ptr6[i]; /* 2: mergebw */ - var37.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var33; + _dest.x2[1] = var34; + var37.i = _dest.i; + } /* 3: loadw */ var35 = ptr4[i]; /* 4: mergebw */ - var36.x2[0] = - ((orc_uint8) var35.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8); - var36.x2[1] = - ((orc_uint8) var35.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8); + { + 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; } @@ -9762,7 +10943,7 @@ cogorc_convert_Y42B_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, #else static void -_backup_cogorc_convert_Y42B_YUY2 (OrcExecutor * ex) +_backup_cogorc_convert_Y42B_YUY2 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -9791,14 +10972,27 @@ _backup_cogorc_convert_Y42B_YUY2 (OrcExecutor * ex) /* 1: loadb */ var34 = ptr6[i]; /* 2: mergebw */ - var37.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var33; + _dest.x2[1] = var34; + var37.i = _dest.i; + } /* 3: loadw */ var35 = ptr4[i]; /* 4: mergebw */ - var36.x2[0] = - ((orc_uint8) var35.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8); - var36.x2[1] = - ((orc_uint8) var35.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8); + { + 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; } @@ -9807,19 +11001,19 @@ _backup_cogorc_convert_Y42B_YUY2 (OrcExecutor * ex) } void -cogorc_convert_Y42B_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, - int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, - int s3_stride, int n, int m) +cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, + const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -9836,7 +11030,7 @@ cogorc_convert_Y42B_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_T1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -9863,9 +11057,10 @@ cogorc_convert_Y42B_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, /* cogorc_convert_Y42B_UYVY */ #ifdef DISABLE_ORC void -cogorc_convert_Y42B_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, - int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, - int s3_stride, int n, int m) +cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, + const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m) { int i; int j; @@ -9892,14 +11087,27 @@ cogorc_convert_Y42B_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, /* 1: loadb */ var34 = ptr6[i]; /* 2: mergebw */ - var37.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var33; + _dest.x2[1] = var34; + var37.i = _dest.i; + } /* 3: loadw */ var35 = ptr4[i]; /* 4: mergebw */ - var36.x2[0] = - ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var35.x2[0] << 8); - var36.x2[1] = - ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var35.x2[1] << 8); + { + 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; } @@ -9909,7 +11117,7 @@ cogorc_convert_Y42B_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, #else static void -_backup_cogorc_convert_Y42B_UYVY (OrcExecutor * ex) +_backup_cogorc_convert_Y42B_UYVY (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -9938,14 +11146,27 @@ _backup_cogorc_convert_Y42B_UYVY (OrcExecutor * ex) /* 1: loadb */ var34 = ptr6[i]; /* 2: mergebw */ - var37.i = ((orc_uint8) var33 & 0x00ff) | ((orc_uint8) var34 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var33; + _dest.x2[1] = var34; + var37.i = _dest.i; + } /* 3: loadw */ var35 = ptr4[i]; /* 4: mergebw */ - var36.x2[0] = - ((orc_uint8) var37.x2[0] & 0x00ff) | ((orc_uint8) var35.x2[0] << 8); - var36.x2[1] = - ((orc_uint8) var37.x2[1] & 0x00ff) | ((orc_uint8) var35.x2[1] << 8); + { + 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; } @@ -9954,19 +11175,19 @@ _backup_cogorc_convert_Y42B_UYVY (OrcExecutor * ex) } void -cogorc_convert_Y42B_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, - int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, - int s3_stride, int n, int m) +cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, + const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -9983,7 +11204,7 @@ cogorc_convert_Y42B_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -10010,9 +11231,10 @@ cogorc_convert_Y42B_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, /* cogorc_convert_Y42B_AYUV */ #ifdef DISABLE_ORC void -cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint16 * s1, - int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, - int s3_stride, int n, int m) +cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, + const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m) { int i; int j; @@ -10036,8 +11258,8 @@ cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint16 * s1, ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j); /* 3: loadpb */ - var38.x2[0] = 0x000000ff; /* 255 or 1.25987e-321f */ - var38.x2[1] = 0x000000ff; /* 255 or 1.25987e-321f */ + 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 */ @@ -10045,24 +11267,47 @@ cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint16 * s1, /* 1: loadb */ var37 = ptr6[i]; /* 2: mergebw */ - var41.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var36; + _dest.x2[1] = var37; + var41.i = _dest.i; + } /* 4: loadw */ var39 = ptr4[i]; /* 5: mergebw */ - var42.x2[0] = - ((orc_uint8) var38.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8); - var42.x2[1] = - ((orc_uint8) var38.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8); + { + 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 */ - var43.i = - ((orc_uint16) var41.i & 0x0000ffff) | ((orc_uint16) var41.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var41.i; + _dest.x2[1] = var41.i; + var43.i = _dest.i; + } /* 7: mergewl */ - var40.x2[0] = - ((orc_uint16) var42. - x2[0] & 0x0000ffff) | ((orc_uint16) var43.x2[0] << 16); - var40.x2[1] = - ((orc_uint16) var42. - x2[1] & 0x0000ffff) | ((orc_uint16) var43.x2[1] << 16); + { + 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; } @@ -10072,7 +11317,7 @@ cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint16 * s1, #else static void -_backup_cogorc_convert_Y42B_AYUV (OrcExecutor * ex) +_backup_cogorc_convert_Y42B_AYUV (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -10098,8 +11343,8 @@ _backup_cogorc_convert_Y42B_AYUV (OrcExecutor * ex) ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j); /* 3: loadpb */ - var38.x2[0] = 0x000000ff; /* 255 or 1.25987e-321f */ - var38.x2[1] = 0x000000ff; /* 255 or 1.25987e-321f */ + 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 */ @@ -10107,24 +11352,47 @@ _backup_cogorc_convert_Y42B_AYUV (OrcExecutor * ex) /* 1: loadb */ var37 = ptr6[i]; /* 2: mergebw */ - var41.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var36; + _dest.x2[1] = var37; + var41.i = _dest.i; + } /* 4: loadw */ var39 = ptr4[i]; /* 5: mergebw */ - var42.x2[0] = - ((orc_uint8) var38.x2[0] & 0x00ff) | ((orc_uint8) var39.x2[0] << 8); - var42.x2[1] = - ((orc_uint8) var38.x2[1] & 0x00ff) | ((orc_uint8) var39.x2[1] << 8); + { + 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 */ - var43.i = - ((orc_uint16) var41.i & 0x0000ffff) | ((orc_uint16) var41.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var41.i; + _dest.x2[1] = var41.i; + var43.i = _dest.i; + } /* 7: mergewl */ - var40.x2[0] = - ((orc_uint16) var42. - x2[0] & 0x0000ffff) | ((orc_uint16) var43.x2[0] << 16); - var40.x2[1] = - ((orc_uint16) var42. - x2[1] & 0x0000ffff) | ((orc_uint16) var43.x2[1] << 16); + { + 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; } @@ -10133,19 +11401,19 @@ _backup_cogorc_convert_Y42B_AYUV (OrcExecutor * ex) } void -cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint16 * s1, - int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, - int s3_stride, int n, int m) +cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, + const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -10170,7 +11438,7 @@ cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint16 * s1, orc_program_append_2 (p, "mergewl", 1, ORC_VAR_D1, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -10197,9 +11465,10 @@ cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint16 * s1, /* cogorc_convert_Y444_YUY2 */ #ifdef DISABLE_ORC void -cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, - int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3, - int s3_stride, int n, int m) +cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint16 * ORC_RESTRICT s2, int s2_stride, + const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m) { int i; int j; @@ -10229,13 +11498,25 @@ cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, /* 1: loadw */ var37 = ptr6[i]; /* 2: mergebw */ - var40.x2[0] = - ((orc_uint8) var36.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8); - var40.x2[1] = - ((orc_uint8) var36.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8); + { + 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 */ - var41.i = (var40.i >> 16) & 0xffff; - var42.i = var40.i & 0xffff; + { + 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; @@ -10244,10 +11525,18 @@ cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, /* 5: loadw */ var38 = ptr4[i]; /* 6: mergebw */ - var39.x2[0] = - ((orc_uint8) var38.x2[0] & 0x00ff) | ((orc_uint8) var43.x2[0] << 8); - var39.x2[1] = - ((orc_uint8) var38.x2[1] & 0x00ff) | ((orc_uint8) var43.x2[1] << 8); + { + 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; } @@ -10257,7 +11546,7 @@ cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, #else static void -_backup_cogorc_convert_Y444_YUY2 (OrcExecutor * ex) +_backup_cogorc_convert_Y444_YUY2 (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -10289,13 +11578,25 @@ _backup_cogorc_convert_Y444_YUY2 (OrcExecutor * ex) /* 1: loadw */ var37 = ptr6[i]; /* 2: mergebw */ - var40.x2[0] = - ((orc_uint8) var36.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8); - var40.x2[1] = - ((orc_uint8) var36.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8); + { + 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 */ - var41.i = (var40.i >> 16) & 0xffff; - var42.i = var40.i & 0xffff; + { + 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; @@ -10304,10 +11605,18 @@ _backup_cogorc_convert_Y444_YUY2 (OrcExecutor * ex) /* 5: loadw */ var38 = ptr4[i]; /* 6: mergebw */ - var39.x2[0] = - ((orc_uint8) var38.x2[0] & 0x00ff) | ((orc_uint8) var43.x2[0] << 8); - var39.x2[1] = - ((orc_uint8) var38.x2[1] & 0x00ff) | ((orc_uint8) var43.x2[1] << 8); + { + 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; } @@ -10316,19 +11625,19 @@ _backup_cogorc_convert_Y444_YUY2 (OrcExecutor * ex) } void -cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, - int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3, - int s3_stride, int n, int m) +cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint16 * ORC_RESTRICT s2, int s2_stride, + const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -10352,7 +11661,7 @@ cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_T1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -10379,9 +11688,10 @@ cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, /* cogorc_convert_Y444_UYVY */ #ifdef DISABLE_ORC void -cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, - int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3, - int s3_stride, int n, int m) +cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint16 * ORC_RESTRICT s2, int s2_stride, + const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m) { int i; int j; @@ -10411,13 +11721,25 @@ cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, /* 1: loadw */ var37 = ptr6[i]; /* 2: mergebw */ - var40.x2[0] = - ((orc_uint8) var36.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8); - var40.x2[1] = - ((orc_uint8) var36.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8); + { + 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 */ - var41.i = (var40.i >> 16) & 0xffff; - var42.i = var40.i & 0xffff; + { + 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; @@ -10426,10 +11748,18 @@ cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, /* 5: loadw */ var38 = ptr4[i]; /* 6: mergebw */ - var39.x2[0] = - ((orc_uint8) var43.x2[0] & 0x00ff) | ((orc_uint8) var38.x2[0] << 8); - var39.x2[1] = - ((orc_uint8) var43.x2[1] & 0x00ff) | ((orc_uint8) var38.x2[1] << 8); + { + 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; } @@ -10439,7 +11769,7 @@ cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, #else static void -_backup_cogorc_convert_Y444_UYVY (OrcExecutor * ex) +_backup_cogorc_convert_Y444_UYVY (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -10471,13 +11801,25 @@ _backup_cogorc_convert_Y444_UYVY (OrcExecutor * ex) /* 1: loadw */ var37 = ptr6[i]; /* 2: mergebw */ - var40.x2[0] = - ((orc_uint8) var36.x2[0] & 0x00ff) | ((orc_uint8) var37.x2[0] << 8); - var40.x2[1] = - ((orc_uint8) var36.x2[1] & 0x00ff) | ((orc_uint8) var37.x2[1] << 8); + { + 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 */ - var41.i = (var40.i >> 16) & 0xffff; - var42.i = var40.i & 0xffff; + { + 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; @@ -10486,10 +11828,18 @@ _backup_cogorc_convert_Y444_UYVY (OrcExecutor * ex) /* 5: loadw */ var38 = ptr4[i]; /* 6: mergebw */ - var39.x2[0] = - ((orc_uint8) var43.x2[0] & 0x00ff) | ((orc_uint8) var38.x2[0] << 8); - var39.x2[1] = - ((orc_uint8) var43.x2[1] & 0x00ff) | ((orc_uint8) var38.x2[1] << 8); + { + 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; } @@ -10498,19 +11848,19 @@ _backup_cogorc_convert_Y444_UYVY (OrcExecutor * ex) } void -cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, - int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3, - int s3_stride, int n, int m) +cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint16 * ORC_RESTRICT s1, int s1_stride, + const orc_uint16 * ORC_RESTRICT s2, int s2_stride, + const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -10534,7 +11884,7 @@ cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, orc_program_append_2 (p, "mergebw", 1, ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -10561,9 +11911,10 @@ cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, /* cogorc_convert_Y444_AYUV */ #ifdef DISABLE_ORC void -cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride, const orc_uint8 * s1, - int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, - int s3_stride, int n, int m) +cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, + const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m) { int i; int j; @@ -10586,7 +11937,7 @@ cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride, const orc_uint8 * s1, ptr6 = ORC_PTR_OFFSET (s3, s3_stride * j); /* 3: loadpb */ - var36 = 0x000000ff; /* 255 or 1.25987e-321f */ + var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -10594,14 +11945,28 @@ cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride, const orc_uint8 * s1, /* 1: loadb */ var35 = ptr6[i]; /* 2: mergebw */ - var39.i = ((orc_uint8) var34 & 0x00ff) | ((orc_uint8) var35 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var34; + _dest.x2[1] = var35; + var39.i = _dest.i; + } /* 4: loadb */ var37 = ptr4[i]; /* 5: mergebw */ - var40.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var36; + _dest.x2[1] = var37; + var40.i = _dest.i; + } /* 6: mergewl */ - var38.i = - ((orc_uint16) var40.i & 0x0000ffff) | ((orc_uint16) var39.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var40.i; + _dest.x2[1] = var39.i; + var38.i = _dest.i; + } /* 7: storel */ ptr0[i] = var38; } @@ -10611,7 +11976,7 @@ cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride, const orc_uint8 * s1, #else static void -_backup_cogorc_convert_Y444_AYUV (OrcExecutor * ex) +_backup_cogorc_convert_Y444_AYUV (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -10636,7 +12001,7 @@ _backup_cogorc_convert_Y444_AYUV (OrcExecutor * ex) ptr6 = ORC_PTR_OFFSET (ex->arrays[6], ex->params[6] * j); /* 3: loadpb */ - var36 = 0x000000ff; /* 255 or 1.25987e-321f */ + var36 = (int) 0x000000ff; /* 255 or 1.25987e-321f */ for (i = 0; i < n; i++) { /* 0: loadb */ @@ -10644,14 +12009,28 @@ _backup_cogorc_convert_Y444_AYUV (OrcExecutor * ex) /* 1: loadb */ var35 = ptr6[i]; /* 2: mergebw */ - var39.i = ((orc_uint8) var34 & 0x00ff) | ((orc_uint8) var35 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var34; + _dest.x2[1] = var35; + var39.i = _dest.i; + } /* 4: loadb */ var37 = ptr4[i]; /* 5: mergebw */ - var40.i = ((orc_uint8) var36 & 0x00ff) | ((orc_uint8) var37 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var36; + _dest.x2[1] = var37; + var40.i = _dest.i; + } /* 6: mergewl */ - var38.i = - ((orc_uint16) var40.i & 0x0000ffff) | ((orc_uint16) var39.i << 16); + { + orc_union32 _dest; + _dest.x2[0] = var40.i; + _dest.x2[1] = var39.i; + var38.i = _dest.i; + } /* 7: storel */ ptr0[i] = var38; } @@ -10660,19 +12039,19 @@ _backup_cogorc_convert_Y444_AYUV (OrcExecutor * ex) } void -cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride, const orc_uint8 * s1, - int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, - int s3_stride, int n, int m) +cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint8 * ORC_RESTRICT s1, int s1_stride, + const orc_uint8 * ORC_RESTRICT s2, int s2_stride, + const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -10693,7 +12072,7 @@ cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride, const orc_uint8 * s1, orc_program_append_2 (p, "mergewl", 0, ORC_VAR_D1, ORC_VAR_T2, ORC_VAR_T1, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -10720,8 +12099,8 @@ cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride, const orc_uint8 * s1, /* cogorc_convert_AYUV_ARGB */ #ifdef DISABLE_ORC void -cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -10778,25 +12157,25 @@ cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j); /* 1: loadpb */ - var49.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 = 0x0000002a; /* 42 or 2.07508e-322f */ + var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */ /* 14: loadpw */ - var51.i = 0x00000067; /* 103 or 5.08888e-322f */ + var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */ /* 21: loadpw */ - var52.i = 0x00000004; /* 4 or 1.97626e-323f */ + var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ /* 25: loadpw */ - var53.i = 0x00000064; /* 100 or 4.94066e-322f */ + var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */ /* 29: loadpw */ - var54.i = 0x00000068; /* 104 or 5.13828e-322f */ + var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */ /* 40: loadpb */ - var55.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 */ @@ -10807,14 +12186,26 @@ cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, var57.x4[2] = var48.x4[2] - var49.x4[2]; var57.x4[3] = var48.x4[3] - var49.x4[3]; /* 3: splitlw */ - var58.i = (var57.i >> 16) & 0xffff; - var59.i = var57.i & 0xffff; + { + orc_union32 _src; + _src.i = var57.i; + var58.i = _src.x2[1]; + var59.i = _src.x2[0]; + } /* 4: splitwb */ - var60 = (var59.i >> 8) & 0xff; - var61 = var59.i & 0xff; + { + orc_union16 _src; + _src.i = var59.i; + var60 = _src.x2[1]; + var61 = _src.x2[0]; + } /* 5: splitwb */ - var62 = (var58.i >> 8) & 0xff; - var63 = var58.i & 0xff; + { + orc_union16 _src; + _src.i = var58.i; + var62 = _src.x2[1]; + var63 = _src.x2[0]; + } /* 6: convsbw */ var64.i = var60; /* 7: convsbw */ @@ -10868,12 +12259,26 @@ cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, /* 36: convssswb */ var89 = ORC_CLAMP_SB (var79.i); /* 37: mergebw */ - var90.i = ((orc_uint8) var61 & 0x00ff) | ((orc_uint8) var87 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var61; + _dest.x2[1] = var87; + var90.i = _dest.i; + } /* 38: mergebw */ - var91.i = ((orc_uint8) var88 & 0x00ff) | ((orc_uint8) var89 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var88; + _dest.x2[1] = var89; + var91.i = _dest.i; + } /* 39: mergewl */ - var92.i = - ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16); + { + 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]; @@ -10888,7 +12293,7 @@ cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, #else static void -_backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ex) +_backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -10947,25 +12352,25 @@ _backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ex) ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j); /* 1: loadpb */ - var49.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 = 0x0000002a; /* 42 or 2.07508e-322f */ + var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */ /* 14: loadpw */ - var51.i = 0x00000067; /* 103 or 5.08888e-322f */ + var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */ /* 21: loadpw */ - var52.i = 0x00000004; /* 4 or 1.97626e-323f */ + var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ /* 25: loadpw */ - var53.i = 0x00000064; /* 100 or 4.94066e-322f */ + var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */ /* 29: loadpw */ - var54.i = 0x00000068; /* 104 or 5.13828e-322f */ + var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */ /* 40: loadpb */ - var55.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 */ @@ -10976,14 +12381,26 @@ _backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ex) var57.x4[2] = var48.x4[2] - var49.x4[2]; var57.x4[3] = var48.x4[3] - var49.x4[3]; /* 3: splitlw */ - var58.i = (var57.i >> 16) & 0xffff; - var59.i = var57.i & 0xffff; + { + orc_union32 _src; + _src.i = var57.i; + var58.i = _src.x2[1]; + var59.i = _src.x2[0]; + } /* 4: splitwb */ - var60 = (var59.i >> 8) & 0xff; - var61 = var59.i & 0xff; + { + orc_union16 _src; + _src.i = var59.i; + var60 = _src.x2[1]; + var61 = _src.x2[0]; + } /* 5: splitwb */ - var62 = (var58.i >> 8) & 0xff; - var63 = var58.i & 0xff; + { + orc_union16 _src; + _src.i = var58.i; + var62 = _src.x2[1]; + var63 = _src.x2[0]; + } /* 6: convsbw */ var64.i = var60; /* 7: convsbw */ @@ -11037,12 +12454,26 @@ _backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ex) /* 36: convssswb */ var89 = ORC_CLAMP_SB (var79.i); /* 37: mergebw */ - var90.i = ((orc_uint8) var61 & 0x00ff) | ((orc_uint8) var87 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var61; + _dest.x2[1] = var87; + var90.i = _dest.i; + } /* 38: mergebw */ - var91.i = ((orc_uint8) var88 & 0x00ff) | ((orc_uint8) var89 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var88; + _dest.x2[1] = var89; + var91.i = _dest.i; + } /* 39: mergewl */ - var92.i = - ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16); + { + 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]; @@ -11056,18 +12487,17 @@ _backup_cogorc_convert_AYUV_ARGB (OrcExecutor * ex) } void -cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -11168,7 +12598,7 @@ cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -11191,8 +12621,8 @@ cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, /* cogorc_convert_AYUV_BGRA */ #ifdef DISABLE_ORC void -cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -11249,25 +12679,25 @@ cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j); /* 1: loadpb */ - var49.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 = 0x0000002a; /* 42 or 2.07508e-322f */ + var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */ /* 14: loadpw */ - var51.i = 0x00000067; /* 103 or 5.08888e-322f */ + var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */ /* 21: loadpw */ - var52.i = 0x00000004; /* 4 or 1.97626e-323f */ + var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ /* 25: loadpw */ - var53.i = 0x00000064; /* 100 or 4.94066e-322f */ + var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */ /* 29: loadpw */ - var54.i = 0x00000068; /* 104 or 5.13828e-322f */ + var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */ /* 40: loadpb */ - var55.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 */ @@ -11278,14 +12708,26 @@ cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, var57.x4[2] = var48.x4[2] - var49.x4[2]; var57.x4[3] = var48.x4[3] - var49.x4[3]; /* 3: splitlw */ - var58.i = (var57.i >> 16) & 0xffff; - var59.i = var57.i & 0xffff; + { + orc_union32 _src; + _src.i = var57.i; + var58.i = _src.x2[1]; + var59.i = _src.x2[0]; + } /* 4: splitwb */ - var60 = (var59.i >> 8) & 0xff; - var61 = var59.i & 0xff; + { + orc_union16 _src; + _src.i = var59.i; + var60 = _src.x2[1]; + var61 = _src.x2[0]; + } /* 5: splitwb */ - var62 = (var58.i >> 8) & 0xff; - var63 = var58.i & 0xff; + { + orc_union16 _src; + _src.i = var58.i; + var62 = _src.x2[1]; + var63 = _src.x2[0]; + } /* 6: convsbw */ var64.i = var60; /* 7: convsbw */ @@ -11339,12 +12781,26 @@ cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, /* 36: convssswb */ var89 = ORC_CLAMP_SB (var79.i); /* 37: mergebw */ - var90.i = ((orc_uint8) var89 & 0x00ff) | ((orc_uint8) var88 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var89; + _dest.x2[1] = var88; + var90.i = _dest.i; + } /* 38: mergebw */ - var91.i = ((orc_uint8) var87 & 0x00ff) | ((orc_uint8) var61 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var87; + _dest.x2[1] = var61; + var91.i = _dest.i; + } /* 39: mergewl */ - var92.i = - ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16); + { + 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]; @@ -11359,7 +12815,7 @@ cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, #else static void -_backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ex) +_backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -11418,25 +12874,25 @@ _backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ex) ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j); /* 1: loadpb */ - var49.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 = 0x0000002a; /* 42 or 2.07508e-322f */ + var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */ /* 14: loadpw */ - var51.i = 0x00000067; /* 103 or 5.08888e-322f */ + var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */ /* 21: loadpw */ - var52.i = 0x00000004; /* 4 or 1.97626e-323f */ + var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ /* 25: loadpw */ - var53.i = 0x00000064; /* 100 or 4.94066e-322f */ + var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */ /* 29: loadpw */ - var54.i = 0x00000068; /* 104 or 5.13828e-322f */ + var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */ /* 40: loadpb */ - var55.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 */ @@ -11447,14 +12903,26 @@ _backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ex) var57.x4[2] = var48.x4[2] - var49.x4[2]; var57.x4[3] = var48.x4[3] - var49.x4[3]; /* 3: splitlw */ - var58.i = (var57.i >> 16) & 0xffff; - var59.i = var57.i & 0xffff; + { + orc_union32 _src; + _src.i = var57.i; + var58.i = _src.x2[1]; + var59.i = _src.x2[0]; + } /* 4: splitwb */ - var60 = (var59.i >> 8) & 0xff; - var61 = var59.i & 0xff; + { + orc_union16 _src; + _src.i = var59.i; + var60 = _src.x2[1]; + var61 = _src.x2[0]; + } /* 5: splitwb */ - var62 = (var58.i >> 8) & 0xff; - var63 = var58.i & 0xff; + { + orc_union16 _src; + _src.i = var58.i; + var62 = _src.x2[1]; + var63 = _src.x2[0]; + } /* 6: convsbw */ var64.i = var60; /* 7: convsbw */ @@ -11508,12 +12976,26 @@ _backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ex) /* 36: convssswb */ var89 = ORC_CLAMP_SB (var79.i); /* 37: mergebw */ - var90.i = ((orc_uint8) var89 & 0x00ff) | ((orc_uint8) var88 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var89; + _dest.x2[1] = var88; + var90.i = _dest.i; + } /* 38: mergebw */ - var91.i = ((orc_uint8) var87 & 0x00ff) | ((orc_uint8) var61 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var87; + _dest.x2[1] = var61; + var91.i = _dest.i; + } /* 39: mergewl */ - var92.i = - ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16); + { + 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]; @@ -11527,18 +13009,17 @@ _backup_cogorc_convert_AYUV_BGRA (OrcExecutor * ex) } void -cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -11639,7 +13120,7 @@ cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -11662,8 +13143,8 @@ cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, /* cogorc_convert_AYUV_ABGR */ #ifdef DISABLE_ORC void -cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -11720,25 +13201,25 @@ cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j); /* 1: loadpb */ - var49.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 = 0x0000002a; /* 42 or 2.07508e-322f */ + var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */ /* 14: loadpw */ - var51.i = 0x00000067; /* 103 or 5.08888e-322f */ + var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */ /* 21: loadpw */ - var52.i = 0x00000004; /* 4 or 1.97626e-323f */ + var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ /* 25: loadpw */ - var53.i = 0x00000064; /* 100 or 4.94066e-322f */ + var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */ /* 29: loadpw */ - var54.i = 0x00000068; /* 104 or 5.13828e-322f */ + var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */ /* 40: loadpb */ - var55.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 */ @@ -11749,14 +13230,26 @@ cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, var57.x4[2] = var48.x4[2] - var49.x4[2]; var57.x4[3] = var48.x4[3] - var49.x4[3]; /* 3: splitlw */ - var58.i = (var57.i >> 16) & 0xffff; - var59.i = var57.i & 0xffff; + { + orc_union32 _src; + _src.i = var57.i; + var58.i = _src.x2[1]; + var59.i = _src.x2[0]; + } /* 4: splitwb */ - var60 = (var59.i >> 8) & 0xff; - var61 = var59.i & 0xff; + { + orc_union16 _src; + _src.i = var59.i; + var60 = _src.x2[1]; + var61 = _src.x2[0]; + } /* 5: splitwb */ - var62 = (var58.i >> 8) & 0xff; - var63 = var58.i & 0xff; + { + orc_union16 _src; + _src.i = var58.i; + var62 = _src.x2[1]; + var63 = _src.x2[0]; + } /* 6: convsbw */ var64.i = var60; /* 7: convsbw */ @@ -11810,12 +13303,26 @@ cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, /* 36: convssswb */ var89 = ORC_CLAMP_SB (var79.i); /* 37: mergebw */ - var90.i = ((orc_uint8) var61 & 0x00ff) | ((orc_uint8) var89 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var61; + _dest.x2[1] = var89; + var90.i = _dest.i; + } /* 38: mergebw */ - var91.i = ((orc_uint8) var88 & 0x00ff) | ((orc_uint8) var87 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var88; + _dest.x2[1] = var87; + var91.i = _dest.i; + } /* 39: mergewl */ - var92.i = - ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16); + { + 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]; @@ -11830,7 +13337,7 @@ cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, #else static void -_backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ex) +_backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -11889,25 +13396,25 @@ _backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ex) ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j); /* 1: loadpb */ - var49.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 = 0x0000002a; /* 42 or 2.07508e-322f */ + var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */ /* 14: loadpw */ - var51.i = 0x00000067; /* 103 or 5.08888e-322f */ + var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */ /* 21: loadpw */ - var52.i = 0x00000004; /* 4 or 1.97626e-323f */ + var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ /* 25: loadpw */ - var53.i = 0x00000064; /* 100 or 4.94066e-322f */ + var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */ /* 29: loadpw */ - var54.i = 0x00000068; /* 104 or 5.13828e-322f */ + var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */ /* 40: loadpb */ - var55.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 */ @@ -11918,14 +13425,26 @@ _backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ex) var57.x4[2] = var48.x4[2] - var49.x4[2]; var57.x4[3] = var48.x4[3] - var49.x4[3]; /* 3: splitlw */ - var58.i = (var57.i >> 16) & 0xffff; - var59.i = var57.i & 0xffff; + { + orc_union32 _src; + _src.i = var57.i; + var58.i = _src.x2[1]; + var59.i = _src.x2[0]; + } /* 4: splitwb */ - var60 = (var59.i >> 8) & 0xff; - var61 = var59.i & 0xff; + { + orc_union16 _src; + _src.i = var59.i; + var60 = _src.x2[1]; + var61 = _src.x2[0]; + } /* 5: splitwb */ - var62 = (var58.i >> 8) & 0xff; - var63 = var58.i & 0xff; + { + orc_union16 _src; + _src.i = var58.i; + var62 = _src.x2[1]; + var63 = _src.x2[0]; + } /* 6: convsbw */ var64.i = var60; /* 7: convsbw */ @@ -11979,12 +13498,26 @@ _backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ex) /* 36: convssswb */ var89 = ORC_CLAMP_SB (var79.i); /* 37: mergebw */ - var90.i = ((orc_uint8) var61 & 0x00ff) | ((orc_uint8) var89 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var61; + _dest.x2[1] = var89; + var90.i = _dest.i; + } /* 38: mergebw */ - var91.i = ((orc_uint8) var88 & 0x00ff) | ((orc_uint8) var87 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var88; + _dest.x2[1] = var87; + var91.i = _dest.i; + } /* 39: mergewl */ - var92.i = - ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16); + { + 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]; @@ -11998,18 +13531,17 @@ _backup_cogorc_convert_AYUV_ABGR (OrcExecutor * ex) } void -cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -12110,7 +13642,7 @@ cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -12133,8 +13665,8 @@ cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, /* cogorc_convert_AYUV_RGBA */ #ifdef DISABLE_ORC void -cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { int i; int j; @@ -12191,25 +13723,25 @@ cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, ptr4 = ORC_PTR_OFFSET (s1, s1_stride * j); /* 1: loadpb */ - var49.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 = 0x0000002a; /* 42 or 2.07508e-322f */ + var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */ /* 14: loadpw */ - var51.i = 0x00000067; /* 103 or 5.08888e-322f */ + var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */ /* 21: loadpw */ - var52.i = 0x00000004; /* 4 or 1.97626e-323f */ + var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ /* 25: loadpw */ - var53.i = 0x00000064; /* 100 or 4.94066e-322f */ + var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */ /* 29: loadpw */ - var54.i = 0x00000068; /* 104 or 5.13828e-322f */ + var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */ /* 40: loadpb */ - var55.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 */ @@ -12220,14 +13752,26 @@ cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, var57.x4[2] = var48.x4[2] - var49.x4[2]; var57.x4[3] = var48.x4[3] - var49.x4[3]; /* 3: splitlw */ - var58.i = (var57.i >> 16) & 0xffff; - var59.i = var57.i & 0xffff; + { + orc_union32 _src; + _src.i = var57.i; + var58.i = _src.x2[1]; + var59.i = _src.x2[0]; + } /* 4: splitwb */ - var60 = (var59.i >> 8) & 0xff; - var61 = var59.i & 0xff; + { + orc_union16 _src; + _src.i = var59.i; + var60 = _src.x2[1]; + var61 = _src.x2[0]; + } /* 5: splitwb */ - var62 = (var58.i >> 8) & 0xff; - var63 = var58.i & 0xff; + { + orc_union16 _src; + _src.i = var58.i; + var62 = _src.x2[1]; + var63 = _src.x2[0]; + } /* 6: convsbw */ var64.i = var60; /* 7: convsbw */ @@ -12281,12 +13825,26 @@ cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, /* 36: convssswb */ var89 = ORC_CLAMP_SB (var79.i); /* 37: mergebw */ - var90.i = ((orc_uint8) var87 & 0x00ff) | ((orc_uint8) var88 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var87; + _dest.x2[1] = var88; + var90.i = _dest.i; + } /* 38: mergebw */ - var91.i = ((orc_uint8) var89 & 0x00ff) | ((orc_uint8) var61 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var89; + _dest.x2[1] = var61; + var91.i = _dest.i; + } /* 39: mergewl */ - var92.i = - ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16); + { + 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]; @@ -12301,7 +13859,7 @@ cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, #else static void -_backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ex) +_backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ORC_RESTRICT ex) { int i; int j; @@ -12360,25 +13918,25 @@ _backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ex) ptr4 = ORC_PTR_OFFSET (ex->arrays[4], ex->params[4] * j); /* 1: loadpb */ - var49.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var49.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 = 0x0000002a; /* 42 or 2.07508e-322f */ + var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */ /* 14: loadpw */ - var51.i = 0x00000067; /* 103 or 5.08888e-322f */ + var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */ /* 21: loadpw */ - var52.i = 0x00000004; /* 4 or 1.97626e-323f */ + var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ /* 25: loadpw */ - var53.i = 0x00000064; /* 100 or 4.94066e-322f */ + var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */ /* 29: loadpw */ - var54.i = 0x00000068; /* 104 or 5.13828e-322f */ + var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */ /* 40: loadpb */ - var55.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 */ @@ -12389,14 +13947,26 @@ _backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ex) var57.x4[2] = var48.x4[2] - var49.x4[2]; var57.x4[3] = var48.x4[3] - var49.x4[3]; /* 3: splitlw */ - var58.i = (var57.i >> 16) & 0xffff; - var59.i = var57.i & 0xffff; + { + orc_union32 _src; + _src.i = var57.i; + var58.i = _src.x2[1]; + var59.i = _src.x2[0]; + } /* 4: splitwb */ - var60 = (var59.i >> 8) & 0xff; - var61 = var59.i & 0xff; + { + orc_union16 _src; + _src.i = var59.i; + var60 = _src.x2[1]; + var61 = _src.x2[0]; + } /* 5: splitwb */ - var62 = (var58.i >> 8) & 0xff; - var63 = var58.i & 0xff; + { + orc_union16 _src; + _src.i = var58.i; + var62 = _src.x2[1]; + var63 = _src.x2[0]; + } /* 6: convsbw */ var64.i = var60; /* 7: convsbw */ @@ -12450,12 +14020,26 @@ _backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ex) /* 36: convssswb */ var89 = ORC_CLAMP_SB (var79.i); /* 37: mergebw */ - var90.i = ((orc_uint8) var87 & 0x00ff) | ((orc_uint8) var88 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var87; + _dest.x2[1] = var88; + var90.i = _dest.i; + } /* 38: mergebw */ - var91.i = ((orc_uint8) var89 & 0x00ff) | ((orc_uint8) var61 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var89; + _dest.x2[1] = var61; + var91.i = _dest.i; + } /* 39: mergewl */ - var92.i = - ((orc_uint16) var90.i & 0x0000ffff) | ((orc_uint16) var91.i << 16); + { + 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]; @@ -12469,18 +14053,17 @@ _backup_cogorc_convert_AYUV_RGBA (OrcExecutor * ex) } void -cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, - int s1_stride, int n, int m) +cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride, + const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_2d (p); @@ -12581,7 +14164,7 @@ cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, 47, ORC_VAR_C2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -12604,8 +14187,9 @@ cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, /* cogorc_convert_I420_BGRA */ #ifdef DISABLE_ORC void -cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, int n) +cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, int n) { int i; orc_union32 *ORC_RESTRICT ptr0; @@ -12665,28 +14249,28 @@ cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1, ptr6 = (orc_int8 *) s3; /* 1: loadpb */ - var46 = 0x00000080; /* 128 or 6.32404e-322f */ + var46 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 5: loadpb */ - var47 = 0x00000080; /* 128 or 6.32404e-322f */ + var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 9: loadpb */ - var48 = 0x00000080; /* 128 or 6.32404e-322f */ + var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 12: loadpw */ - var49.i = 0x0000002a; /* 42 or 2.07508e-322f */ + var49.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */ /* 17: loadpw */ - var50.i = 0x00000067; /* 103 or 5.08888e-322f */ + var50.i = (int) 0x00000067; /* 103 or 5.08888e-322f */ /* 24: loadpw */ - var51.i = 0x00000004; /* 4 or 1.97626e-323f */ + var51.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ /* 28: loadpw */ - var52.i = 0x00000064; /* 100 or 4.94066e-322f */ + var52.i = (int) 0x00000064; /* 100 or 4.94066e-322f */ /* 32: loadpw */ - var53.i = 0x00000068; /* 104 or 5.13828e-322f */ + var53.i = (int) 0x00000068; /* 104 or 5.13828e-322f */ /* 41: loadpb */ - var54 = 0x000000ff; /* 255 or 1.25987e-321f */ + var54 = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 44: loadpb */ - var55.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 */ @@ -12758,12 +14342,26 @@ cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1, /* 39: convssswb */ var87 = ORC_CLAMP_SB (var77.i); /* 40: mergebw */ - var88.i = ((orc_uint8) var87 & 0x00ff) | ((orc_uint8) var86 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var87; + _dest.x2[1] = var86; + var88.i = _dest.i; + } /* 42: mergebw */ - var89.i = ((orc_uint8) var85 & 0x00ff) | ((orc_uint8) var54 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var85; + _dest.x2[1] = var54; + var89.i = _dest.i; + } /* 43: mergewl */ - var90.i = - ((orc_uint16) var88.i & 0x0000ffff) | ((orc_uint16) var89.i << 16); + { + 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]; @@ -12777,7 +14375,7 @@ cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1, #else static void -_backup_cogorc_convert_I420_BGRA (OrcExecutor * ex) +_backup_cogorc_convert_I420_BGRA (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -12838,28 +14436,28 @@ _backup_cogorc_convert_I420_BGRA (OrcExecutor * ex) ptr6 = (orc_int8 *) ex->arrays[6]; /* 1: loadpb */ - var46 = 0x00000080; /* 128 or 6.32404e-322f */ + var46 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 5: loadpb */ - var47 = 0x00000080; /* 128 or 6.32404e-322f */ + var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 9: loadpb */ - var48 = 0x00000080; /* 128 or 6.32404e-322f */ + var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 12: loadpw */ - var49.i = 0x0000002a; /* 42 or 2.07508e-322f */ + var49.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */ /* 17: loadpw */ - var50.i = 0x00000067; /* 103 or 5.08888e-322f */ + var50.i = (int) 0x00000067; /* 103 or 5.08888e-322f */ /* 24: loadpw */ - var51.i = 0x00000004; /* 4 or 1.97626e-323f */ + var51.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ /* 28: loadpw */ - var52.i = 0x00000064; /* 100 or 4.94066e-322f */ + var52.i = (int) 0x00000064; /* 100 or 4.94066e-322f */ /* 32: loadpw */ - var53.i = 0x00000068; /* 104 or 5.13828e-322f */ + var53.i = (int) 0x00000068; /* 104 or 5.13828e-322f */ /* 41: loadpb */ - var54 = 0x000000ff; /* 255 or 1.25987e-321f */ + var54 = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 44: loadpb */ - var55.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var55.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 */ @@ -12931,12 +14529,26 @@ _backup_cogorc_convert_I420_BGRA (OrcExecutor * ex) /* 39: convssswb */ var87 = ORC_CLAMP_SB (var77.i); /* 40: mergebw */ - var88.i = ((orc_uint8) var87 & 0x00ff) | ((orc_uint8) var86 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var87; + _dest.x2[1] = var86; + var88.i = _dest.i; + } /* 42: mergebw */ - var89.i = ((orc_uint8) var85 & 0x00ff) | ((orc_uint8) var54 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var85; + _dest.x2[1] = var54; + var89.i = _dest.i; + } /* 43: mergewl */ - var90.i = - ((orc_uint16) var88.i & 0x0000ffff) | ((orc_uint16) var89.i << 16); + { + 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]; @@ -12949,18 +14561,18 @@ _backup_cogorc_convert_I420_BGRA (OrcExecutor * ex) } void -cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, int n) +cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_convert_I420_BGRA"); @@ -13062,7 +14674,7 @@ cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1, orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T13, ORC_VAR_C2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); @@ -13084,9 +14696,10 @@ cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1, /* cogorc_convert_I420_BGRA_avg */ #ifdef DISABLE_ORC void -cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, - const orc_uint8 * s5, int n) +cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, + const orc_uint8 * ORC_RESTRICT s5, int n) { int i; orc_union32 *ORC_RESTRICT ptr0; @@ -13154,28 +14767,28 @@ cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1, ptr8 = (orc_int8 *) s5; /* 1: loadpb */ - var47 = 0x00000080; /* 128 or 6.32404e-322f */ + var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 7: loadpb */ - var48 = 0x00000080; /* 128 or 6.32404e-322f */ + var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 13: loadpb */ - var49 = 0x00000080; /* 128 or 6.32404e-322f */ + var49 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 16: loadpw */ - var50.i = 0x0000002a; /* 42 or 2.07508e-322f */ + var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */ /* 21: loadpw */ - var51.i = 0x00000067; /* 103 or 5.08888e-322f */ + var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */ /* 28: loadpw */ - var52.i = 0x00000004; /* 4 or 1.97626e-323f */ + var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ /* 32: loadpw */ - var53.i = 0x00000064; /* 100 or 4.94066e-322f */ + var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */ /* 36: loadpw */ - var54.i = 0x00000068; /* 104 or 5.13828e-322f */ + var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */ /* 45: loadpb */ - var55 = 0x000000ff; /* 255 or 1.25987e-321f */ + var55 = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 48: loadpb */ - var56.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var56.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var56.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var56.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 */ @@ -13259,12 +14872,26 @@ cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1, /* 43: convssswb */ var92 = ORC_CLAMP_SB (var82.i); /* 44: mergebw */ - var93.i = ((orc_uint8) var92 & 0x00ff) | ((orc_uint8) var91 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var92; + _dest.x2[1] = var91; + var93.i = _dest.i; + } /* 46: mergebw */ - var94.i = ((orc_uint8) var90 & 0x00ff) | ((orc_uint8) var55 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var90; + _dest.x2[1] = var55; + var94.i = _dest.i; + } /* 47: mergewl */ - var95.i = - ((orc_uint16) var93.i & 0x0000ffff) | ((orc_uint16) var94.i << 16); + { + 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]; @@ -13278,7 +14905,7 @@ cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1, #else static void -_backup_cogorc_convert_I420_BGRA_avg (OrcExecutor * ex) +_backup_cogorc_convert_I420_BGRA_avg (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -13347,28 +14974,28 @@ _backup_cogorc_convert_I420_BGRA_avg (OrcExecutor * ex) ptr8 = (orc_int8 *) ex->arrays[8]; /* 1: loadpb */ - var47 = 0x00000080; /* 128 or 6.32404e-322f */ + var47 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 7: loadpb */ - var48 = 0x00000080; /* 128 or 6.32404e-322f */ + var48 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 13: loadpb */ - var49 = 0x00000080; /* 128 or 6.32404e-322f */ + var49 = (int) 0x00000080; /* 128 or 6.32404e-322f */ /* 16: loadpw */ - var50.i = 0x0000002a; /* 42 or 2.07508e-322f */ + var50.i = (int) 0x0000002a; /* 42 or 2.07508e-322f */ /* 21: loadpw */ - var51.i = 0x00000067; /* 103 or 5.08888e-322f */ + var51.i = (int) 0x00000067; /* 103 or 5.08888e-322f */ /* 28: loadpw */ - var52.i = 0x00000004; /* 4 or 1.97626e-323f */ + var52.i = (int) 0x00000004; /* 4 or 1.97626e-323f */ /* 32: loadpw */ - var53.i = 0x00000064; /* 100 or 4.94066e-322f */ + var53.i = (int) 0x00000064; /* 100 or 4.94066e-322f */ /* 36: loadpw */ - var54.i = 0x00000068; /* 104 or 5.13828e-322f */ + var54.i = (int) 0x00000068; /* 104 or 5.13828e-322f */ /* 45: loadpb */ - var55 = 0x000000ff; /* 255 or 1.25987e-321f */ + var55 = (int) 0x000000ff; /* 255 or 1.25987e-321f */ /* 48: loadpb */ - var56.x4[0] = 0x00000080; /* 128 or 6.32404e-322f */ - var56.x4[1] = 0x00000080; /* 128 or 6.32404e-322f */ - var56.x4[2] = 0x00000080; /* 128 or 6.32404e-322f */ - var56.x4[3] = 0x00000080; /* 128 or 6.32404e-322f */ + 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 */ @@ -13452,12 +15079,26 @@ _backup_cogorc_convert_I420_BGRA_avg (OrcExecutor * ex) /* 43: convssswb */ var92 = ORC_CLAMP_SB (var82.i); /* 44: mergebw */ - var93.i = ((orc_uint8) var92 & 0x00ff) | ((orc_uint8) var91 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var92; + _dest.x2[1] = var91; + var93.i = _dest.i; + } /* 46: mergebw */ - var94.i = ((orc_uint8) var90 & 0x00ff) | ((orc_uint8) var55 << 8); + { + orc_union16 _dest; + _dest.x2[0] = var90; + _dest.x2[1] = var55; + var94.i = _dest.i; + } /* 47: mergewl */ - var95.i = - ((orc_uint16) var93.i & 0x0000ffff) | ((orc_uint16) var94.i << 16); + { + 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]; @@ -13470,19 +15111,19 @@ _backup_cogorc_convert_I420_BGRA_avg (OrcExecutor * ex) } void -cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, - const orc_uint8 * s5, int n) +cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, + const orc_uint8 * ORC_RESTRICT s5, int n) { OrcExecutor _ex, *ex = &_ex; - static int p_inited = 0; + static volatile int p_inited = 0; static OrcProgram *p = 0; void (*func) (OrcExecutor *); if (!p_inited) { orc_once_mutex_lock (); if (!p_inited) { - OrcCompileResult result; p = orc_program_new (); orc_program_set_name (p, "cogorc_convert_I420_BGRA_avg"); @@ -13595,7 +15236,7 @@ cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1, orc_program_append_2 (p, "addb", 2, ORC_VAR_D1, ORC_VAR_T14, ORC_VAR_C2, ORC_VAR_D1); - result = orc_program_compile (p); + orc_program_compile (p); } p_inited = TRUE; orc_once_mutex_unlock (); diff --git a/ext/cog/gstcogorc-dist.h b/ext/cog/gstcogorc-dist.h index 4f1dbd2..e7bac246 100644 --- a/ext/cog/gstcogorc-dist.h +++ b/ext/cog/gstcogorc-dist.h @@ -35,6 +35,7 @@ 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 typedef signed char orc_int8; @@ -57,80 +58,89 @@ 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 -void cogorc_memcpy_2d (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1, int s1_stride, int n, int m); -void cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1, int n); -void cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1, const orc_uint16 * s2, int n); -void cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1, const orc_uint16 * s2, int n); -void cogorc_downsample_vert_halfsite_2tap (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, int n); -void cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int n); -void cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n); -void cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, int n); -void cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, int n); -void cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, int n); -void orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n); -void orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n); -void orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n); -void orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int n); -void orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n); -void orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n); -void orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n); -void orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int n); -void orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n); -void orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n); -void orc_splat_u8_ns (orc_uint8 * d1, int p1, int n); -void orc_splat_s16_ns (gint16 * d1, int p1, int n); -void orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, int p2, int p3, int n); -void orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, int p2, int n); -void orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, int p2, int n); -void orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4, int n); -void orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int n); -void orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n); -void orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n); -void orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int p1, int n); -void orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int p1, int n); -void cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, int p1, int p2, int n); -void cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int p1, int p2, int p3, int p4, int n); -void cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n); -void cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n); -void cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n); -void cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n); -void cogorc_resample_horiz_1tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, int p2, int n); -void cogorc_resample_horiz_2tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, int p2, int n); -void cogorc_convert_I420_UYVY (orc_uint32 * d1, orc_uint32 * d2, const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n); -void cogorc_convert_I420_YUY2 (orc_uint32 * d1, orc_uint32 * d2, const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n); -void cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n); -void cogorc_convert_YUY2_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n); -void cogorc_convert_UYVY_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_planar_chroma_420_422 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m); -void cogorc_planar_chroma_420_444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m); -void cogorc_planar_chroma_422_444 (orc_uint16 * d1, int d1_stride, const orc_uint8 * s1, int s1_stride, int n, int m); -void cogorc_planar_chroma_444_422 (orc_uint8 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, int n, int m); -void cogorc_planar_chroma_444_420 (orc_uint8 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, int n, int m); -void cogorc_planar_chroma_422_420 (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, int n, int m); -void cogorc_convert_YUY2_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_UYVY_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_YUY2_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_UYVY_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_YUY2_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_UYVY_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_UYVY_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n); -void cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, orc_uint8 * d4, int d4_stride, const orc_uint64 * s1, int s1_stride, const orc_uint64 * s2, int s2_stride, int n, int m); -void cogorc_convert_AYUV_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, int s1_stride, int n, int m); -void cogorc_convert_AYUV_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, int s1_stride, int n, int m); -void cogorc_convert_AYUV_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint64 * s1, int s1_stride, int n, int m); -void cogorc_convert_AYUV_Y444 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_Y42B_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, int s3_stride, int n, int m); -void cogorc_convert_Y42B_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, int s3_stride, int n, int m); -void cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, int s3_stride, int n, int m); -void cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3, int s3_stride, int n, int m); -void cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3, int s3_stride, int n, int m); -void cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride, const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, int s3_stride, int n, int m); -void cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); -void cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int n); -void cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, const orc_uint8 * s5, int n); +#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 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, int n); +void cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, int n); +void cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, int n); +void cogorc_downsample_vert_halfsite_2tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n); +void cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n); +void cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n); +void cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, int n); +void cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n); +void cogorc_upsample_vert_avgub (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n); +void orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, int n); +void orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n); +void orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n); +void orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n); +void orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, int n); +void orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n); +void orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n); +void orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n); +void orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1, const gint16 * ORC_RESTRICT s1, int n); +void orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, int n); +void orc_splat_u8_ns (orc_uint8 * ORC_RESTRICT d1, int p1, int n); +void orc_splat_s16_ns (gint16 * ORC_RESTRICT d1, int p1, 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 orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int p1, int n); +void orc_pack_x123 (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int p1, int n); +void cogorc_combine2_u8 (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p1, int p2, int n); +void cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int p1, int p2, int p3, int p4, int n); +void cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n); +void cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n); +void cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n); +void cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n); +void cogorc_resample_horiz_1tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n); +void cogorc_resample_horiz_2tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n); +void cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1, orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n); +void cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1, orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n); +void cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1, orc_uint32 * ORC_RESTRICT d2, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n); +void cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1, orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3, orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1, const orc_uint32 * ORC_RESTRICT s2, int n); +void cogorc_convert_UYVY_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_planar_chroma_420_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_planar_chroma_420_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint16 * ORC_RESTRICT d2, int d2_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_planar_chroma_422_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint16 * ORC_RESTRICT s2, int s2_stride, int n, int m); +void cogorc_planar_chroma_422_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, int n, int m); +void cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1, orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3, orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1, const orc_uint32 * ORC_RESTRICT s2, int n); +void cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, orc_uint8 * ORC_RESTRICT d4, int d4_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, const orc_uint64 * ORC_RESTRICT s2, int s2_stride, int n, int m); +void cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m); +void cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m); +void cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m); +void cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint16 * ORC_RESTRICT s2, int s2_stride, const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m); +void cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint16 * ORC_RESTRICT s2, int s2_stride, const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m); +void cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m); +void cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m); +void cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n); +void cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5, int n); #ifdef __cplusplus } diff --git a/gst-plugins-bad.doap b/gst-plugins-bad.doap index 7128bca..cd36308 100644 --- a/gst-plugins-bad.doap +++ b/gst-plugins-bad.doap @@ -35,6 +35,17 @@ real live maintainer, or some actual wide use. + 0.11.2 + 0.11 + Crossthreaded + 2012-03-22 + + + + + + + 0.11.1 0.11 Forest of October diff --git a/gst/fieldanalysis/gstfieldanalysisorc-dist.c b/gst/fieldanalysis/gstfieldanalysisorc-dist.c index 9699163..351ee1a 100644 --- a/gst/fieldanalysis/gstfieldanalysisorc-dist.c +++ b/gst/fieldanalysis/gstfieldanalysisorc-dist.c @@ -4,9 +4,6 @@ #ifdef HAVE_CONFIG_H #include "config.h" #endif -#ifndef DISABLE_ORC -#include -#endif #include #ifndef _ORC_INTEGER_TYPEDEFS_ @@ -32,6 +29,7 @@ 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 typedef signed char orc_int8; @@ -71,19 +69,34 @@ typedef union 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 orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1, - const orc_uint8 * s2, int p2, int n); -void orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1, - const orc_uint8 * s2, int p2, int n); -void orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, - const orc_uint8 * s5, const orc_uint8 * s6, int p2, int n); -void orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, - const orc_uint8 * s5, int p2, int n); - -void gst_fieldanalysis_orc_init (void); +#ifndef DISABLE_ORC +#include +#endif +void orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + int p2, int n); +void orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + int p2, int n); +void orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, + const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6, + int p2, int n); +void orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, + const orc_uint8 * ORC_RESTRICT s5, int p2, int n); /* begin Orc C target preamble */ @@ -117,6 +130,7 @@ void gst_fieldanalysis_orc_init (void); #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 @@ -124,6 +138,7 @@ void gst_fieldanalysis_orc_init (void); #else #define ORC_RESTRICT #endif +#endif /* end Orc C target preamble */ @@ -131,8 +146,9 @@ void gst_fieldanalysis_orc_init (void); /* orc_same_parity_sad_planar_yuv */ #ifdef DISABLE_ORC void -orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1, - const orc_uint8 * s2, int p2, int n) +orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + int p2, int n) { int i; const orc_int8 *ORC_RESTRICT ptr4; @@ -183,7 +199,7 @@ orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1, #else static void -_backup_orc_same_parity_sad_planar_yuv (OrcExecutor * ex) +_backup_orc_same_parity_sad_planar_yuv (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -233,15 +249,55 @@ _backup_orc_same_parity_sad_planar_yuv (OrcExecutor * ex) } -static OrcProgram *_orc_program_orc_same_parity_sad_planar_yuv; void -orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1, - const orc_uint8 * s2, int p2, int n) +orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + int p2, int n) { OrcExecutor _ex, *ex = &_ex; - OrcProgram *p = _orc_program_orc_same_parity_sad_planar_yuv; + static volatile 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_same_parity_sad_planar_yuv"); + orc_program_set_backup_function (p, + _backup_orc_same_parity_sad_planar_yuv); + orc_program_add_source (p, 1, "s1"); + orc_program_add_source (p, 1, "s2"); + orc_program_add_accumulator (p, 4, "a1"); + orc_program_add_parameter (p, 4, "p2"); + 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, "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, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2, + ORC_VAR_D1); + orc_program_append_2 (p, "absw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "cmpgtsl", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_P2, + ORC_VAR_D1); + orc_program_append_2 (p, "andl", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4, + ORC_VAR_D1); + orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, 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; @@ -259,8 +315,9 @@ orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1, /* orc_same_parity_ssd_planar_yuv */ #ifdef DISABLE_ORC void -orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1, - const orc_uint8 * s2, int p2, int n) +orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + int p2, int n) { int i; const orc_int8 *ORC_RESTRICT ptr4; @@ -308,7 +365,7 @@ orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1, #else static void -_backup_orc_same_parity_ssd_planar_yuv (OrcExecutor * ex) +_backup_orc_same_parity_ssd_planar_yuv (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -355,15 +412,53 @@ _backup_orc_same_parity_ssd_planar_yuv (OrcExecutor * ex) } -static OrcProgram *_orc_program_orc_same_parity_ssd_planar_yuv; void -orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1, - const orc_uint8 * s2, int p2, int n) +orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + int p2, int n) { OrcExecutor _ex, *ex = &_ex; - OrcProgram *p = _orc_program_orc_same_parity_ssd_planar_yuv; + static volatile 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_same_parity_ssd_planar_yuv"); + orc_program_set_backup_function (p, + _backup_orc_same_parity_ssd_planar_yuv); + orc_program_add_source (p, 1, "s1"); + orc_program_add_source (p, 1, "s2"); + orc_program_add_accumulator (p, 4, "a1"); + orc_program_add_parameter (p, 4, "p2"); + 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, "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, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2, + ORC_VAR_D1); + orc_program_append_2 (p, "mulswl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1, + ORC_VAR_D1); + orc_program_append_2 (p, "cmpgtsl", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_P2, + ORC_VAR_D1); + orc_program_append_2 (p, "andl", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4, + ORC_VAR_D1); + orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, 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; @@ -381,9 +476,11 @@ orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1, /* orc_same_parity_3_tap_planar_yuv */ #ifdef DISABLE_ORC void -orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, - const orc_uint8 * s5, const orc_uint8 * s6, int p2, int n) +orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, + const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6, + int p2, int n) { int i; const orc_int8 *ORC_RESTRICT ptr4; @@ -484,7 +581,7 @@ orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, #else static void -_backup_orc_same_parity_3_tap_planar_yuv (OrcExecutor * ex) +_backup_orc_same_parity_3_tap_planar_yuv (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -584,16 +681,86 @@ _backup_orc_same_parity_3_tap_planar_yuv (OrcExecutor * ex) } -static OrcProgram *_orc_program_orc_same_parity_3_tap_planar_yuv; void -orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, - const orc_uint8 * s5, const orc_uint8 * s6, int p2, int n) +orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, + const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6, + int p2, int n) { OrcExecutor _ex, *ex = &_ex; - OrcProgram *p = _orc_program_orc_same_parity_3_tap_planar_yuv; + static volatile 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_same_parity_3_tap_planar_yuv"); + orc_program_set_backup_function (p, + _backup_orc_same_parity_3_tap_planar_yuv); + 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_source (p, 1, "s6"); + orc_program_add_accumulator (p, 4, "a1"); + orc_program_add_constant (p, 4, 0x00000002, "c1"); + orc_program_add_parameter (p, 4, "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_add_temporary (p, 2, "t5"); + orc_program_add_temporary (p, 2, "t6"); + orc_program_add_temporary (p, 4, "t7"); + orc_program_add_temporary (p, 4, "t8"); + + 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, "convubw", 0, ORC_VAR_T5, ORC_VAR_S5, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "convubw", 0, ORC_VAR_T6, ORC_VAR_S6, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "shlw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1, + ORC_VAR_D1); + orc_program_append_2 (p, "shlw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C1, + 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_T3, + 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_T6, + ORC_VAR_D1); + orc_program_append_2 (p, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T4, + ORC_VAR_D1); + orc_program_append_2 (p, "absw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "cmpgtsl", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_P2, + ORC_VAR_D1); + orc_program_append_2 (p, "andl", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T8, + ORC_VAR_D1); + orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T7, ORC_VAR_D1, + ORC_VAR_D1); + + orc_program_compile (p); + } + p_inited = TRUE; + orc_once_mutex_unlock (); + } ex->program = p; ex->n = n; @@ -615,9 +782,10 @@ orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, /* orc_opposite_parity_5_tap_planar_yuv */ #ifdef DISABLE_ORC void -orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, - const orc_uint8 * s5, int p2, int n) +orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, + const orc_uint8 * ORC_RESTRICT s5, int p2, int n) { int i; const orc_int8 *ORC_RESTRICT ptr4; @@ -658,9 +826,9 @@ orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, ptr8 = (orc_int8 *) s5; /* 11: loadpw */ - var44.i = 0x00000003; /* 3 or 1.4822e-323f */ + var44.i = (int) 0x00000003; /* 3 or 1.4822e-323f */ /* 13: loadpw */ - var45.i = 0x00000003; /* 3 or 1.4822e-323f */ + var45.i = (int) 0x00000003; /* 3 or 1.4822e-323f */ /* 21: loadpl */ var46.i = p2; @@ -716,7 +884,7 @@ orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, #else static void -_backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ex) +_backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; @@ -758,9 +926,9 @@ _backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ex) ptr8 = (orc_int8 *) ex->arrays[8]; /* 11: loadpw */ - var44.i = 0x00000003; /* 3 or 1.4822e-323f */ + var44.i = (int) 0x00000003; /* 3 or 1.4822e-323f */ /* 13: loadpw */ - var45.i = 0x00000003; /* 3 or 1.4822e-323f */ + var45.i = (int) 0x00000003; /* 3 or 1.4822e-323f */ /* 21: loadpl */ var46.i = ex->params[25]; @@ -814,16 +982,82 @@ _backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ex) } -static OrcProgram *_orc_program_orc_opposite_parity_5_tap_planar_yuv; void -orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, - const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, - const orc_uint8 * s5, int p2, int n) +orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1, + const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, + const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, + const orc_uint8 * ORC_RESTRICT s5, int p2, int n) { OrcExecutor _ex, *ex = &_ex; - OrcProgram *p = _orc_program_orc_opposite_parity_5_tap_planar_yuv; + static volatile 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_opposite_parity_5_tap_planar_yuv"); + orc_program_set_backup_function (p, + _backup_orc_opposite_parity_5_tap_planar_yuv); + 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_accumulator (p, 4, "a1"); + orc_program_add_constant (p, 4, 0x00000002, "c1"); + orc_program_add_constant (p, 4, 0x00000003, "c2"); + orc_program_add_parameter (p, 4, "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_add_temporary (p, 2, "t5"); + orc_program_add_temporary (p, 4, "t6"); + orc_program_add_temporary (p, 4, "t7"); + + 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, "convubw", 0, ORC_VAR_T5, ORC_VAR_S5, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "shlw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C1, + ORC_VAR_D1); + orc_program_append_2 (p, "mullw", 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_T4, ORC_VAR_C2, + ORC_VAR_D1); + orc_program_append_2 (p, "subw", 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_T3, + ORC_VAR_D1); + orc_program_append_2 (p, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T4, + ORC_VAR_D1); + orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T5, + ORC_VAR_D1); + orc_program_append_2 (p, "absw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T6, ORC_VAR_T1, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "cmpgtsl", 0, ORC_VAR_T7, ORC_VAR_T6, ORC_VAR_P2, + ORC_VAR_D1); + orc_program_append_2 (p, "andl", 0, ORC_VAR_T6, ORC_VAR_T6, ORC_VAR_T7, + ORC_VAR_D1); + orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T6, ORC_VAR_D1, + ORC_VAR_D1); + + orc_program_compile (p); + } + p_inited = TRUE; + orc_once_mutex_unlock (); + } ex->program = p; ex->n = n; @@ -839,218 +1073,3 @@ orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, *a1 = orc_executor_get_accumulator (ex, ORC_VAR_A1); } #endif - - -void -gst_fieldanalysis_orc_init (void) -{ -#ifndef DISABLE_ORC - { - /* orc_same_parity_sad_planar_yuv */ - OrcProgram *p; - OrcCompileResult result; - - p = orc_program_new (); - orc_program_set_name (p, "orc_same_parity_sad_planar_yuv"); - orc_program_set_backup_function (p, _backup_orc_same_parity_sad_planar_yuv); - orc_program_add_source (p, 1, "s1"); - orc_program_add_source (p, 1, "s2"); - orc_program_add_accumulator (p, 4, "a1"); - orc_program_add_parameter (p, 4, "p2"); - 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, "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, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2, - ORC_VAR_D1); - orc_program_append_2 (p, "absw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_D1, - ORC_VAR_D1); - orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_D1, - ORC_VAR_D1); - orc_program_append_2 (p, "cmpgtsl", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_P2, - ORC_VAR_D1); - orc_program_append_2 (p, "andl", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4, - ORC_VAR_D1); - orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T3, ORC_VAR_D1, - ORC_VAR_D1); - - result = orc_program_compile (p); - - _orc_program_orc_same_parity_sad_planar_yuv = p; - } - { - /* orc_same_parity_ssd_planar_yuv */ - OrcProgram *p; - OrcCompileResult result; - - p = orc_program_new (); - orc_program_set_name (p, "orc_same_parity_ssd_planar_yuv"); - orc_program_set_backup_function (p, _backup_orc_same_parity_ssd_planar_yuv); - orc_program_add_source (p, 1, "s1"); - orc_program_add_source (p, 1, "s2"); - orc_program_add_accumulator (p, 4, "a1"); - orc_program_add_parameter (p, 4, "p2"); - 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, "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, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2, - ORC_VAR_D1); - orc_program_append_2 (p, "mulswl", 0, ORC_VAR_T3, ORC_VAR_T1, ORC_VAR_T1, - ORC_VAR_D1); - orc_program_append_2 (p, "cmpgtsl", 0, ORC_VAR_T4, ORC_VAR_T3, ORC_VAR_P2, - ORC_VAR_D1); - orc_program_append_2 (p, "andl", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T4, - ORC_VAR_D1); - orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T3, ORC_VAR_D1, - ORC_VAR_D1); - - result = orc_program_compile (p); - - _orc_program_orc_same_parity_ssd_planar_yuv = p; - } - { - /* orc_same_parity_3_tap_planar_yuv */ - OrcProgram *p; - OrcCompileResult result; - - p = orc_program_new (); - orc_program_set_name (p, "orc_same_parity_3_tap_planar_yuv"); - orc_program_set_backup_function (p, - _backup_orc_same_parity_3_tap_planar_yuv); - 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_source (p, 1, "s6"); - orc_program_add_accumulator (p, 4, "a1"); - orc_program_add_constant (p, 4, 0x00000002, "c1"); - orc_program_add_parameter (p, 4, "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_add_temporary (p, 2, "t5"); - orc_program_add_temporary (p, 2, "t6"); - orc_program_add_temporary (p, 4, "t7"); - orc_program_add_temporary (p, 4, "t8"); - - 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, "convubw", 0, ORC_VAR_T5, ORC_VAR_S5, ORC_VAR_D1, - ORC_VAR_D1); - orc_program_append_2 (p, "convubw", 0, ORC_VAR_T6, ORC_VAR_S6, ORC_VAR_D1, - ORC_VAR_D1); - orc_program_append_2 (p, "shlw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1, - ORC_VAR_D1); - orc_program_append_2 (p, "shlw", 0, ORC_VAR_T5, ORC_VAR_T5, ORC_VAR_C1, - 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_T3, - 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_T6, - ORC_VAR_D1); - orc_program_append_2 (p, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T4, - ORC_VAR_D1); - orc_program_append_2 (p, "absw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_D1, - ORC_VAR_D1); - orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T7, ORC_VAR_T1, ORC_VAR_D1, - ORC_VAR_D1); - orc_program_append_2 (p, "cmpgtsl", 0, ORC_VAR_T8, ORC_VAR_T7, ORC_VAR_P2, - ORC_VAR_D1); - orc_program_append_2 (p, "andl", 0, ORC_VAR_T7, ORC_VAR_T7, ORC_VAR_T8, - ORC_VAR_D1); - orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T7, ORC_VAR_D1, - ORC_VAR_D1); - - result = orc_program_compile (p); - - _orc_program_orc_same_parity_3_tap_planar_yuv = p; - } - { - /* orc_opposite_parity_5_tap_planar_yuv */ - OrcProgram *p; - OrcCompileResult result; - - p = orc_program_new (); - orc_program_set_name (p, "orc_opposite_parity_5_tap_planar_yuv"); - orc_program_set_backup_function (p, - _backup_orc_opposite_parity_5_tap_planar_yuv); - 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_accumulator (p, 4, "a1"); - orc_program_add_constant (p, 4, 0x00000002, "c1"); - orc_program_add_constant (p, 4, 0x00000003, "c2"); - orc_program_add_parameter (p, 4, "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_add_temporary (p, 2, "t5"); - orc_program_add_temporary (p, 4, "t6"); - orc_program_add_temporary (p, 4, "t7"); - - 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, "convubw", 0, ORC_VAR_T5, ORC_VAR_S5, ORC_VAR_D1, - ORC_VAR_D1); - orc_program_append_2 (p, "shlw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C1, - ORC_VAR_D1); - orc_program_append_2 (p, "mullw", 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_T4, ORC_VAR_C2, - ORC_VAR_D1); - orc_program_append_2 (p, "subw", 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_T3, - ORC_VAR_D1); - orc_program_append_2 (p, "subw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T4, - ORC_VAR_D1); - orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T5, - ORC_VAR_D1); - orc_program_append_2 (p, "absw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_D1, - ORC_VAR_D1); - orc_program_append_2 (p, "convuwl", 0, ORC_VAR_T6, ORC_VAR_T1, ORC_VAR_D1, - ORC_VAR_D1); - orc_program_append_2 (p, "cmpgtsl", 0, ORC_VAR_T7, ORC_VAR_T6, ORC_VAR_P2, - ORC_VAR_D1); - orc_program_append_2 (p, "andl", 0, ORC_VAR_T6, ORC_VAR_T6, ORC_VAR_T7, - ORC_VAR_D1); - orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T6, ORC_VAR_D1, - ORC_VAR_D1); - - result = orc_program_compile (p); - - _orc_program_orc_opposite_parity_5_tap_planar_yuv = p; - } -#endif -} diff --git a/gst/fieldanalysis/gstfieldanalysisorc-dist.h b/gst/fieldanalysis/gstfieldanalysisorc-dist.h index b46b6fa..40a64ee 100644 --- a/gst/fieldanalysis/gstfieldanalysisorc-dist.h +++ b/gst/fieldanalysis/gstfieldanalysisorc-dist.h @@ -10,8 +10,6 @@ extern "C" { #endif -void gst_fieldanalysis_orc_init (void); - #ifndef _ORC_INTEGER_TYPEDEFS_ @@ -37,6 +35,7 @@ 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 typedef signed char orc_int8; @@ -59,10 +58,19 @@ 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 -void orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * s2, int p2, int n); -void orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * s2, int p2, int n); -void orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, const orc_uint8 * s5, const orc_uint8 * s6, int p2, int n); -void orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, const orc_uint8 * s5, int p2, int n); +#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 orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p2, int n); +void orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p2, int n); +void orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6, int p2, int n); +void orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5, int p2, int n); #ifdef __cplusplus } diff --git a/po/af.po b/po/af.po index db8a716..38d75e7 100644 --- a/po/af.po +++ b/po/af.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins 0.7.6\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2004-03-18 14:16+0200\n" "Last-Translator: Petri Jooste \n" "Language-Team: Afrikaans \n" diff --git a/po/az.po b/po/az.po index 3763e8a..a6d9f02 100644 --- a/po/az.po +++ b/po/az.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-0.8.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2004-03-19 18:29+0200\n" "Last-Translator: Metin Amiroff \n" "Language-Team: Azerbaijani \n" diff --git a/po/bg.po b/po/bg.po index 23fa98c..b114562 100644 --- a/po/bg.po +++ b/po/bg.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-04-26 22:30+0300\n" "Last-Translator: Alexander Shopov \n" "Language-Team: Bulgarian \n" diff --git a/po/ca.po b/po/ca.po index 022cca9..0cc8f91 100644 --- a/po/ca.po +++ b/po/ca.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2012-01-01 14:19+0100\n" "Last-Translator: Gil Forcada \n" "Language-Team: Catalan \n" diff --git a/po/cs.po b/po/cs.po index e4aa03d..37f698d 100644 --- a/po/cs.po +++ b/po/cs.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.13.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2009-08-29 01:48+0200\n" "Last-Translator: Petr Kovar \n" "Language-Team: Czech \n" diff --git a/po/da.po b/po/da.po index 97f5fae..9ddd40a 100644 --- a/po/da.po +++ b/po/da.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-04-28 11:28+0200\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" diff --git a/po/de.po b/po/de.po index d6f742c..89c39bc 100644 --- a/po/de.po +++ b/po/de.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-04-28 00:04+0200\n" "Last-Translator: Christian Kirbach \n" "Language-Team: German \n" diff --git a/po/el.po b/po/el.po index 941a31b..a3c62b0 100644 --- a/po/el.po +++ b/po/el.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.18.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2010-09-02 12:32+0300\n" "Last-Translator: Simos Xenitellis \n" "Language-Team: Greek \n" diff --git a/po/en_GB.po b/po/en_GB.po index 10f9655..4ec419b 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins 0.8.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2004-04-26 10:41-0400\n" "Last-Translator: Gareth Owen \n" "Language-Team: English (British) \n" diff --git a/po/eo.po b/po/eo.po index f1063f0..ffc33f0 100644 --- a/po/eo.po +++ b/po/eo.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-06-04 22:18+0200\n" "Last-Translator: Kristjan SCHMIDT \n" "Language-Team: Esperanto \n" diff --git a/po/es.po b/po/es.po index 1226a98..2bddc15 100644 --- a/po/es.po +++ b/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-10-02 15:47+0200\n" "Last-Translator: Jorge González González \n" "Language-Team: Spanish \n" diff --git a/po/eu.po b/po/eu.po index 7b46948..343bcfb 100644 --- a/po/eu.po +++ b/po/eu.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-0.10.17.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2010-03-25 12:30+0100\n" "Last-Translator: Mikel Olasagasti Uranga \n" "Language-Team: Basque \n" diff --git a/po/fi.po b/po/fi.po index 1cddb32..e7e4c4a 100644 --- a/po/fi.po +++ b/po/fi.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.13.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2009-08-12 22:13+0300\n" "Last-Translator: Tommi Vainikainen \n" "Language-Team: Finnish \n" diff --git a/po/fr.po b/po/fr.po index 65a2da1..3125540 100644 --- a/po/fr.po +++ b/po/fr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-04-28 09:13+0200\n" "Last-Translator: Claude Paroz \n" "Language-Team: French \n" diff --git a/po/gl.po b/po/gl.po index 4be5b0e..a720b46 100644 --- a/po/gl.po +++ b/po/gl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-09-05 12:50+0200\n" "Last-Translator: Fran Dieguez \n" "Language-Team: Galician \n" diff --git a/po/hu.po b/po/hu.po index f353a86..3e9a349 100644 --- a/po/hu.po +++ b/po/hu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.13.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2009-08-12 23:33+0200\n" "Last-Translator: Gabor Kelemen \n" "Language-Team: Hungarian \n" diff --git a/po/id.po b/po/id.po index 514bc31..6fa7160 100644 --- a/po/id.po +++ b/po/id.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2012-01-28 10:27+0700\n" "Last-Translator: Andhika Padmawan \n" "Language-Team: Indonesian \n" diff --git a/po/it.po b/po/it.po index 8a59453..de26b57 100644 --- a/po/it.po +++ b/po/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.13.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2009-08-14 00:12+0200\n" "Last-Translator: Luca Ferretti \n" "Language-Team: Italian \n" diff --git a/po/ja.po b/po/ja.po index 0b2d24c..8e064e6 100644 --- a/po/ja.po +++ b/po/ja.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-04-26 19:38+0900\n" "Last-Translator: Makoto Kato \n" "Language-Team: Japanese \n" diff --git a/po/ky.po b/po/ky.po index d2dfb7a..9669bd8 100644 --- a/po/ky.po +++ b/po/ky.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.5\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2007-11-13 17:16+0600\n" "Last-Translator: Ilyas Bakirov \n" "Language-Team: Kirghiz \n" diff --git a/po/lt.po b/po/lt.po index 75dcfcb..7a63fbb 100644 --- a/po/lt.po +++ b/po/lt.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-0.10.6.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2008-05-14 02:13+0300\n" "Last-Translator: Gintautas Miliauskas \n" "Language-Team: Lithuanian \n" diff --git a/po/lv.po b/po/lv.po index 65b04fc..7592756 100644 --- a/po/lv.po +++ b/po/lv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-09-02 12:04-0000\n" "Last-Translator: Rihards Priedītis \n" "Language-Team: Latvian \n" diff --git a/po/mt.po b/po/mt.po index 4b35aca..b41a9ff 100644 --- a/po/mt.po +++ b/po/mt.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-0.10.8.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2008-10-26 20:27+0100\n" "Last-Translator: Michel Bugeja \n" "Language-Team: Maltese \n" diff --git a/po/nb.po b/po/nb.po index cd5da1a..4d19b6d 100644 --- a/po/nb.po +++ b/po/nb.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.5\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2007-11-03 14:46+0100\n" "Last-Translator: Kjartan Maraas \n" "Language-Team: Norwegian Bokmaal \n" diff --git a/po/nl.po b/po/nl.po index 5574959..d4f103d 100644 --- a/po/nl.po +++ b/po/nl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-04-27 00:16+0200\n" "Last-Translator: Freek de Kruijf \n" "Language-Team: Dutch \n" diff --git a/po/or.po b/po/or.po index d578407..391357a 100644 --- a/po/or.po +++ b/po/or.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-0.8.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2004-09-27 13:32+0530\n" "Last-Translator: Gora Mohanty \n" "Language-Team: Oriya \n" diff --git a/po/pl.po b/po/pl.po index 89260ab..6657e91 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-04-26 17:57+0200\n" "Last-Translator: Jakub Bogusz \n" "Language-Team: Polish \n" diff --git a/po/pt_BR.po b/po/pt_BR.po index 4114312..d543e2a 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-0.10.18.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2010-05-26 00:00-0300\n" "Last-Translator: Fabrício Godoy \n" "Language-Team: Brazilian Portuguese \n" diff --git a/po/ro.po b/po/ro.po index 9fc6e50..3809828 100644 --- a/po/ro.po +++ b/po/ro.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.18.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2010-08-16 03:11+0300\n" "Last-Translator: Lucian Adrian Grijincu \n" "Language-Team: Romanian \n" diff --git a/po/ru.po b/po/ru.po index a53122f..3f8ea9c 100644 --- a/po/ru.po +++ b/po/ru.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-04-26 20:31+0400\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \n" diff --git a/po/sk.po b/po/sk.po index 4487b1b..45b61b4 100644 --- a/po/sk.po +++ b/po/sk.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.17.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2010-03-08 09:20+0100\n" "Last-Translator: Peter Tuhársky \n" "Language-Team: Slovak \n" diff --git a/po/sl.po b/po/sl.po index 9612886..53de393 100644 --- a/po/sl.po +++ b/po/sl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-04-26 15:21+0100\n" "Last-Translator: Klemen Košir \n" "Language-Team: Slovenian \n" diff --git a/po/sq.po b/po/sq.po index 6185ef0..2afaad0 100644 --- a/po/sq.po +++ b/po/sq.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.7.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2008-08-15 16:07+0200\n" "Last-Translator: Laurent Dhima \n" "Language-Team: Albanian \n" diff --git a/po/sr.po b/po/sr.po index 8eb3efa..a2e532a 100644 --- a/po/sr.po +++ b/po/sr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-12-04 09:59+0200\n" "Last-Translator: Мирослав Николић \n" "Language-Team: Serbian \n" diff --git a/po/sv.po b/po/sv.po index 9230f2f..99329ae 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.13.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2009-08-12 20:29+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" diff --git a/po/tr.po b/po/tr.po index 3bf9867..5bfb15f 100644 --- a/po/tr.po +++ b/po/tr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad-0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-04-26 19:21+0200\n" "Last-Translator: Server Acim \n" "Language-Team: Turkish \n" diff --git a/po/uk.po b/po/uk.po index d01fa98..d337d8c 100644 --- a/po/uk.po +++ b/po/uk.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2011-04-30 14:00+0300\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" diff --git a/po/vi.po b/po/vi.po index b3983a1..07971b0 100644 --- a/po/vi.po +++ b/po/vi.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.17.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2010-03-06 22:09+1030\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" diff --git a/po/zh_CN.po b/po/zh_CN.po index 84f35ce..18ad260 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-bad 0.10.16.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2012-02-17 10:41+0100\n" +"POT-Creation-Date: 2012-03-22 15:18+0100\n" "PO-Revision-Date: 2009-11-20 18:12中国标准时间\n" "Last-Translator: Ji ZhengYu \n" "Language-Team: Chinese (simplified) \n" diff --git a/win32/common/config.h b/win32/common/config.h index 30a35b6..2a16b2e 100644 --- a/win32/common/config.h +++ b/win32/common/config.h @@ -24,7 +24,7 @@ #define GST_LICENSE "LGPL" /* package name in plugins */ -#define GST_PACKAGE_NAME "GStreamer Bad Plug-ins git" +#define GST_PACKAGE_NAME "GStreamer Bad Plug-ins source release" /* package origin */ #define GST_PACKAGE_ORIGIN "Unknown package origin" @@ -199,7 +199,7 @@ #undef USE_POISONING /* Version number of package */ -#define VERSION "0.11.1.1" +#define VERSION "0.11.2" /* Define to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ -- 2.7.4