diff options
author | David Schleef <ds@schleef.org> | 2005-11-14 05:34:36 +0000 |
---|---|---|
committer | David Schleef <ds@schleef.org> | 2005-11-14 05:34:36 +0000 |
commit | 3d73c433756057ab85758c0e5ebd7ecf229763c8 (patch) | |
tree | 03f0e01a093924b2c8387f68ad1854d53c2d2cd9 | |
parent | c4ff3a7ad8f1853626408480b3c8ef392456fa28 (diff) | |
download | liboil-3d73c433756057ab85758c0e5ebd7ecf229763c8.tar.gz |
* doc/Makefile.am: Write a little bit of documentation.
* doc/liboil-overrides.txt:
* doc/liboil-sections.txt:
* doc/tmpl/liboil-unused.sgml:
* doc/tmpl/liboil.sgml:
* doc/tmpl/liboilfuncs-conv.sgml:
* doc/tmpl/liboilfuncs-copy.sgml:
* doc/tmpl/liboilfuncs-dct.sgml:
* doc/tmpl/liboilfuncs-doc.sgml:
* doc/tmpl/liboilfuncs-math.sgml:
* doc/tmpl/liboilfuncs-math8x8.sgml:
* doc/tmpl/liboilfuncs-pixel.sgml:
* doc/tmpl/liboilfunction.sgml:
* doc/tmpl/liboilparameter.sgml:
* doc/tmpl/liboilprofile.sgml:
* doc/tmpl/liboiltest.sgml:
* doc/tmpl/liboiltypes.sgml:
* liboil/dct/dct12_f32.c:
* liboil/dct/dct36_f32.c:
* liboil/dct/fdct8_f64.c:
* liboil/dct/fdct8x8_f64.c:
* liboil/dct/fdct8x8s_s16.c:
* liboil/dct/fdct8x8theora.c:
* liboil/dct/idct8_f64.c:
* liboil/dct/idct8x8_c.c:
* liboil/dct/idct8x8theora_ref.c:
* liboil/dct/imdct32_f32.c:
* liboil/jpeg/convert8x8_c.c:
* liboil/jpeg/jpeg_rgb_decoder.c:
* liboil/jpeg/quantize8x8_c.c:
* liboil/jpeg/zigzag8x8_c.c:
* liboil/liboilclasses.h:
* liboil/liboilcolorspace.h:
* liboil/liboilcpu.c: (oil_cpu_fault_check_enable):
* liboil/liboildebug.c:
* liboil/liboildebug.h:
* liboil/liboilfuncs.h:
* liboil/liboilfunction.c:
* liboil/liboilfunction.h:
* liboil/liboilparameter.h:
* liboil/liboilprofile.c:
* liboil/liboilprofile.h:
* liboil/liboilprototype.c: (oil_prototype_to_string),
(oil_prototype_from_string):
* liboil/liboilprototype.h:
* liboil/liboilrandom.h:
* liboil/liboiltest.c:
* liboil/liboiltest.h:
* liboil/liboiltypes.h:
* liboil/md5/md5.c:
* liboil/null.c:
* liboil/ref/average2_u8.c:
* liboil/ref/clip_ref.c:
* liboil/ref/composite.c:
* liboil/ref/conv.c:
* liboil/ref/copy.c:
* liboil/ref/copy8x8.c:
* liboil/ref/diff8x8.c:
* liboil/ref/diffsquaresum_f64.c:
* liboil/ref/error8x8.c:
* liboil/ref/math.c:
* liboil/ref/mix_u8.c:
* liboil/ref/mult8x8_s16.c:
* liboil/ref/multsum.c:
* liboil/ref/permute.c:
* liboil/ref/recon8x8.c:
* liboil/ref/resample.c:
* liboil/ref/rowcolsad8x8.c:
* liboil/ref/sad8x8.c:
* liboil/ref/sad8x8_broken.c:
* liboil/ref/sad8x8avg.c:
* liboil/ref/scalaradd.c:
* liboil/ref/scalarmult.c:
* liboil/ref/sincos_f64.c:
* liboil/ref/splat.c:
* liboil/ref/squaresum_f64.c:
* liboil/ref/sum_f64.c:
* liboil/ref/tablelookup.c:
* liboil/ref/trans8x8.c:
* liboil/ref/vectoradd_f64.c:
* liboil/ref/vectoradd_s.c:
* liboil/utf8/utf8.c:
82 files changed, 4231 insertions, 4214 deletions
@@ -1,5 +1,90 @@ 2005-11-13 David Schleef <ds@schleef.org> + * doc/Makefile.am: Write a little bit of documentation. + * doc/liboil-overrides.txt: + * doc/liboil-sections.txt: + * doc/tmpl/liboil-unused.sgml: + * doc/tmpl/liboil.sgml: + * doc/tmpl/liboilfuncs-conv.sgml: + * doc/tmpl/liboilfuncs-copy.sgml: + * doc/tmpl/liboilfuncs-dct.sgml: + * doc/tmpl/liboilfuncs-doc.sgml: + * doc/tmpl/liboilfuncs-math.sgml: + * doc/tmpl/liboilfuncs-math8x8.sgml: + * doc/tmpl/liboilfuncs-pixel.sgml: + * doc/tmpl/liboilfunction.sgml: + * doc/tmpl/liboilparameter.sgml: + * doc/tmpl/liboilprofile.sgml: + * doc/tmpl/liboiltest.sgml: + * doc/tmpl/liboiltypes.sgml: + * liboil/dct/dct12_f32.c: + * liboil/dct/dct36_f32.c: + * liboil/dct/fdct8_f64.c: + * liboil/dct/fdct8x8_f64.c: + * liboil/dct/fdct8x8s_s16.c: + * liboil/dct/fdct8x8theora.c: + * liboil/dct/idct8_f64.c: + * liboil/dct/idct8x8_c.c: + * liboil/dct/idct8x8theora_ref.c: + * liboil/dct/imdct32_f32.c: + * liboil/jpeg/convert8x8_c.c: + * liboil/jpeg/jpeg_rgb_decoder.c: + * liboil/jpeg/quantize8x8_c.c: + * liboil/jpeg/zigzag8x8_c.c: + * liboil/liboilclasses.h: + * liboil/liboilcolorspace.h: + * liboil/liboilcpu.c: (oil_cpu_fault_check_enable): + * liboil/liboildebug.c: + * liboil/liboildebug.h: + * liboil/liboilfuncs.h: + * liboil/liboilfunction.c: + * liboil/liboilfunction.h: + * liboil/liboilparameter.h: + * liboil/liboilprofile.c: + * liboil/liboilprofile.h: + * liboil/liboilprototype.c: (oil_prototype_to_string), + (oil_prototype_from_string): + * liboil/liboilprototype.h: + * liboil/liboilrandom.h: + * liboil/liboiltest.c: + * liboil/liboiltest.h: + * liboil/liboiltypes.h: + * liboil/md5/md5.c: + * liboil/null.c: + * liboil/ref/average2_u8.c: + * liboil/ref/clip_ref.c: + * liboil/ref/composite.c: + * liboil/ref/conv.c: + * liboil/ref/copy.c: + * liboil/ref/copy8x8.c: + * liboil/ref/diff8x8.c: + * liboil/ref/diffsquaresum_f64.c: + * liboil/ref/error8x8.c: + * liboil/ref/math.c: + * liboil/ref/mix_u8.c: + * liboil/ref/mult8x8_s16.c: + * liboil/ref/multsum.c: + * liboil/ref/permute.c: + * liboil/ref/recon8x8.c: + * liboil/ref/resample.c: + * liboil/ref/rowcolsad8x8.c: + * liboil/ref/sad8x8.c: + * liboil/ref/sad8x8_broken.c: + * liboil/ref/sad8x8avg.c: + * liboil/ref/scalaradd.c: + * liboil/ref/scalarmult.c: + * liboil/ref/sincos_f64.c: + * liboil/ref/splat.c: + * liboil/ref/squaresum_f64.c: + * liboil/ref/sum_f64.c: + * liboil/ref/tablelookup.c: + * liboil/ref/trans8x8.c: + * liboil/ref/vectoradd_f64.c: + * liboil/ref/vectoradd_s.c: + * liboil/utf8/utf8.c: + +2005-11-13 David Schleef <ds@schleef.org> + * liboil/i386/fdct8x8theora_i386.c: (fdct8x8theora_mmx): * liboil/i386/recon8x8_i386.c: (recon8x8_intra_mmx): Fix some asm code that accesses global variables from asm diff --git a/doc/Makefile.am b/doc/Makefile.am index 7cddf6d..3ab28d6 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -43,7 +43,7 @@ CFILE_GLOB=$(top_srcdir)/liboil/*.c # Header files to ignore when scanning. # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h -IGNORE_HFILES=liboilfuncs.h fb/fbmmx.h fb/fbpict.h +IGNORE_HFILES=liboilfuncs.h fbmmx.h fbpict.h # Images to copy into HTML directory. # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png diff --git a/doc/liboil-overrides.txt b/doc/liboil-overrides.txt index ae57b8a..7951def 100644 --- a/doc/liboil-overrides.txt +++ b/doc/liboil-overrides.txt @@ -1,62 +1 @@ -MmxTo -MmxAdd -MmxAddMul -fbCompositeSrcAdd_8888x8888 -Store24 -fbCompositeSrc_8888x0565 -FbByteMulAdd -fbRasterizeEdges -FbByteMulC -cvt0565to8888 -FbByteMul -FbInC -FbByteAddMul -MmxMul -fbIn -fbCompositeSrc_0565x0565 -fbCompositeSolidMask_nx8x0888 -Alpha -MmxMulAdd -FbByteAddMul_256 -fbOver24 -fbComposeGetSolid -fbCompositeSrc_8888x8888 -FbAdd -fbCompositeSolidMask_nx8x8888 -MmxFrom -FbByteAdd -fbCompositeSolidMask_nx1xn -fbCompositeSolidMask_nx8x0565 -FbIntDiv -div_255 -fbAddTraps -FbByteMulAddC -MmxNegate -FbOverU -fbAddTriangles -FbGet8 -INLINE -FASTCALL -fbOver -fbCompositeSrc_8888x0888 -FbGen -FbComposeFunctions -MmxAlpha -fbCompositeSrcAdd_1000x1000 -FbInU -fbRasterizeTrapezoid -fbCompositeSolidMask_nx8888x0565C -fbComposeGetStart -Blue -fbComposite -fbCompositeSrcAdd_8000x8000 -Green -FbIntMult -cvt8888to0565 -FbOverC -fbCompositeSolidMask_nx8888x8888C -Red -Fetch24 -FbByteAddMulC -FbComposeData -fbCompositeGeneral +NULL diff --git a/doc/liboil-sections.txt b/doc/liboil-sections.txt index 8c267d8..0769279 100644 --- a/doc/liboil-sections.txt +++ b/doc/liboil-sections.txt @@ -104,7 +104,6 @@ oil_arg_type_name <SECTION> <FILE>liboiltypes</FILE> -NULL OilFunctionClass OilFunctionImpl OilParameter diff --git a/doc/tmpl/liboil-unused.sgml b/doc/tmpl/liboil-unused.sgml index 929ce90..e69de29 100644 --- a/doc/tmpl/liboil-unused.sgml +++ b/doc/tmpl/liboil-unused.sgml @@ -1,3392 +0,0 @@ -<!-- ##### SECTION ./tmpl/conv.sgml:Long_Description ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/conv.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/conv.sgml:Short_Description ##### --> - - - -<!-- ##### SECTION ./tmpl/conv.sgml:Title ##### --> -conv - - -<!-- ##### SECTION ./tmpl/convert.sgml:Long_Description ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/convert.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/convert.sgml:Short_Description ##### --> - - - -<!-- ##### SECTION ./tmpl/convert.sgml:Title ##### --> -convert - - -<!-- ##### SECTION ./tmpl/dct.sgml:Long_Description ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/dct.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/dct.sgml:Short_Description ##### --> - - - -<!-- ##### SECTION ./tmpl/dct.sgml:Title ##### --> -dct - - -<!-- ##### SECTION ./tmpl/jpeg.sgml:Long_Description ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/jpeg.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/jpeg.sgml:Short_Description ##### --> - - - -<!-- ##### SECTION ./tmpl/jpeg.sgml:Title ##### --> -jpeg - - -<!-- ##### SECTION ./tmpl/liboilfuncs-macros.sgml:Long_Description ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/liboilfuncs-macros.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/liboilfuncs-macros.sgml:Short_Description ##### --> - - - -<!-- ##### SECTION ./tmpl/liboilfuncs-macros.sgml:Title ##### --> -liboilfuncs-macros - - -<!-- ##### SECTION ./tmpl/liboilfuncs.sgml:Long_Description ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/liboilfuncs.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/liboilfuncs.sgml:Short_Description ##### --> - - - -<!-- ##### SECTION ./tmpl/liboilfuncs.sgml:Title ##### --> -liboilfuncs - - -<!-- ##### SECTION ./tmpl/md5.sgml:Long_Description ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/md5.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/md5.sgml:Short_Description ##### --> - - - -<!-- ##### SECTION ./tmpl/md5.sgml:Title ##### --> -md5 - - -<!-- ##### SECTION ./tmpl/simdpack.sgml:Long_Description ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/simdpack.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/simdpack.sgml:Short_Description ##### --> - - - -<!-- ##### SECTION ./tmpl/simdpack.sgml:Title ##### --> -simdpack - - -<!-- ##### SECTION ./tmpl/utf8.sgml:Long_Description ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/utf8.sgml:See_Also ##### --> -<para> - -</para> - - -<!-- ##### SECTION ./tmpl/utf8.sgml:Short_Description ##### --> - - - -<!-- ##### SECTION ./tmpl/utf8.sgml:Title ##### --> -utf8 - - -<!-- ##### USER_FUNCTION _oil_type_abs_f32_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_abs_f64_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_abs_u16_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_abs_u32_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_abs_u8_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_argb_paint_u8 ##### --> -<para> - -</para> - -@i_4xn: -@s1_4: -@s2_n: -@n: - -<!-- ##### USER_FUNCTION _oil_type_average2_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_ayuv2argb_u8 ##### --> -<para> - -</para> - -@d_4xn: -@s_4xn: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clip_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: -@s2_1: -@s3_1: - -<!-- ##### USER_FUNCTION _oil_type_clip_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: -@s2_1: -@s3_1: - -<!-- ##### USER_FUNCTION _oil_type_clip_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: -@s2_1: -@s3_1: - -<!-- ##### USER_FUNCTION _oil_type_clip_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: -@s2_1: -@s3_1: - -<!-- ##### USER_FUNCTION _oil_type_clip_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: -@s2_1: -@s3_1: - -<!-- ##### USER_FUNCTION _oil_type_clip_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: -@s2_1: -@s3_1: - -<!-- ##### USER_FUNCTION _oil_type_clip_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: -@s2_1: -@s3_1: - -<!-- ##### USER_FUNCTION _oil_type_clip_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: -@s2_1: -@s3_1: - -<!-- ##### USER_FUNCTION _oil_type_clipconv8x8_u8_s16 ##### --> -<para> - -</para> - -@d_8x8: -@dstr: -@s_8x8: -@sstr: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s16_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s16_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s16_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s16_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s16_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s32_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s32_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s32_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s8_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s8_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s8_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s8_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s8_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s8_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_s8_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u16_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u16_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u16_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u16_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u16_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u32_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u32_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u32_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u8_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u8_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u8_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u8_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u8_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u8_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_clipconv_u8_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv8x8_f64_s16 ##### --> -<para> - -</para> - -@d_8x8: -@dstr: -@s_8x8: -@sstr: - -<!-- ##### USER_FUNCTION _oil_type_conv8x8_s16_f64 ##### --> -<para> - -</para> - -@d_8x8: -@dstr: -@s_8x8: -@sstr: - -<!-- ##### USER_FUNCTION _oil_type_conv_f32_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_f32_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_f32_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_f32_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_f32_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_f32_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_f32_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_f64_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_f64_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_f64_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_f64_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_f64_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_f64_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_f64_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s16_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s16_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s16_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s16_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s16_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s16_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s16_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s32_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s32_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s32_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s32_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s32_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s32_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s32_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s8_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s8_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s8_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s8_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s8_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s8_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_s8_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u16_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u16_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u16_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u16_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u16_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u16_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u16_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u32_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u32_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u32_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u32_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u32_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u32_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u32_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u8_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u8_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u8_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u8_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u8_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u8_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_conv_u8_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_copy_u8 ##### --> -<para> - -</para> - -@dest: -@src: -@n: - -<!-- ##### USER_FUNCTION _oil_type_dct36_f32 ##### --> -<para> - -</para> - -@d_36: -@dstr: -@s_36: -@sstr: - -<!-- ##### USER_FUNCTION _oil_type_dequantize8x8_s16 ##### --> -<para> - -</para> - -@d_8x8: -@dstr: -@s1_8x8: -@sstr1: -@s2_8x8: -@sstr2: - -<!-- ##### USER_FUNCTION _oil_type_diffsquaresum_f64 ##### --> -<para> - -</para> - -@d_1: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_fdct8_f64 ##### --> -<para> - -</para> - -@d_8: -@s_8: -@dstr: -@sstr: - -<!-- ##### USER_FUNCTION _oil_type_fdct8x8_f64 ##### --> -<para> - -</para> - -@d_8x8: -@dstr: -@s_8x8: -@sstr: - -<!-- ##### USER_FUNCTION _oil_type_fdct8x8s_s16 ##### --> -<para> - -</para> - -@d_8x8: -@ds: -@s_8x8: -@ss: - -<!-- ##### USER_FUNCTION _oil_type_idct8_f64 ##### --> -<para> - -</para> - -@d_8: -@dstr: -@s_8: -@sstr: - -<!-- ##### USER_FUNCTION _oil_type_idct8x8_f64 ##### --> -<para> - -</para> - -@d_8x8: -@dstr: -@s_8x8: -@sstr: - -<!-- ##### USER_FUNCTION _oil_type_idct8x8_s16 ##### --> -<para> - -</para> - -@d_8x8: -@dstr: -@s_8x8: -@sstr: - -<!-- ##### USER_FUNCTION _oil_type_imdct12_f64 ##### --> -<para> - -</para> - -@d_12: -@s_6: - -<!-- ##### USER_FUNCTION _oil_type_imdct32_f32 ##### --> -<para> - -</para> - -@d_32: -@s_32: - -<!-- ##### USER_FUNCTION _oil_type_imdct36_f64 ##### --> -<para> - -</para> - -@d_36: -@s_18: - -<!-- ##### USER_FUNCTION _oil_type_md5 ##### --> -<para> - -</para> - -@i_4: -@s_16: - -<!-- ##### USER_FUNCTION _oil_type_mdct12_f64 ##### --> -<para> - -</para> - -@d_6: -@s_12: - -<!-- ##### USER_FUNCTION _oil_type_mdct36_f64 ##### --> -<para> - -</para> - -@d_18: -@s_36: - -<!-- ##### USER_FUNCTION _oil_type_mix_u8 ##### --> -<para> - -</para> - -@dest: -@src1: -@src2: -@src3: -@n: - -<!-- ##### USER_FUNCTION _oil_type_mult8x8_s16 ##### --> -<para> - -</para> - -@d_8x8: -@s1_8x8: -@s2_8x8: -@ds: -@ss1: -@ss2: - -<!-- ##### USER_FUNCTION _oil_type_multsum_f32 ##### --> -<para> - -</para> - -@dest: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_multsum_f64 ##### --> -<para> - -</para> - -@dest: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_null ##### --> -<para> - -</para> - - -<!-- ##### USER_FUNCTION _oil_type_permute_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_permute_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_permute_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_permute_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_permute_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_permute_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_permute_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_permute_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_rgb2bgr ##### --> -<para> - -</para> - -@d_3xn: -@s_3xn: -@n: - -<!-- ##### USER_FUNCTION _oil_type_rgb2rgba ##### --> -<para> - -</para> - -@d_4xn: -@s_3xn: -@n: - -<!-- ##### USER_FUNCTION _oil_type_sad8x8_f64 ##### --> -<para> - -</para> - -@d_8x8: -@ds: -@s1_8x8: -@ss1: -@s2_8x8: -@ss2: - -<!-- ##### USER_FUNCTION _oil_type_sad8x8_s16 ##### --> -<para> - -</para> - -@d_8x8: -@ds: -@s1_8x8: -@ss1: -@s2_8x8: -@ss2: - -<!-- ##### USER_FUNCTION _oil_type_scalaradd_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalaradd_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalaradd_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalaradd_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalaradd_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalaradd_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalaradd_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalaradd_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalarmult_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalarmult_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalarmult_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalarmult_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalarmult_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalarmult_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalarmult_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scalarmult_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src: -@sstr: -@s2_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_scanlinescale2_u8 ##### --> -<para> - -</para> - -@dest: -@src: -@n: - -<!-- ##### USER_FUNCTION _oil_type_sincos_f64 ##### --> -<para> - -</para> - -@dest1: -@dest2: -@n: -@s1_1: -@s2_1: - -<!-- ##### USER_FUNCTION _oil_type_splat_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@s1_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_splat_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@s1_1: -@n: - -<!-- ##### USER_FUNCTION _oil_type_squaresum_f64 ##### --> -<para> - -</para> - -@dest: -@src: -@n: - -<!-- ##### USER_FUNCTION _oil_type_sum_f64 ##### --> -<para> - -</para> - -@dest: -@src: -@sstr: -@n: - -<!-- ##### USER_FUNCTION _oil_type_tablelookup_u8 ##### --> -<para> - -</para> - -@d: -@ds: -@s1: -@ss1: -@s2_256: -@ss2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_trans8x8_f64 ##### --> -<para> - -</para> - -@d_8x8: -@ds: -@s_8x8: -@ss: - -<!-- ##### USER_FUNCTION _oil_type_trans8x8_u16 ##### --> -<para> - -</para> - -@d_8x8: -@ds: -@s_8x8: -@ss: - -<!-- ##### USER_FUNCTION _oil_type_trans8x8_u32 ##### --> -<para> - -</para> - -@d_8x8: -@ds: -@s_8x8: -@ss: - -<!-- ##### USER_FUNCTION _oil_type_trans8x8_u8 ##### --> -<para> - -</para> - -@d_8x8: -@ds: -@s_8x8: -@ss: - -<!-- ##### USER_FUNCTION _oil_type_unzigzag8x8_s16 ##### --> -<para> - -</para> - -@d_8x8: -@ds: -@s_8x8: -@ss: - -<!-- ##### USER_FUNCTION _oil_type_utf8_validate ##### --> -<para> - -</para> - -@d_1: -@s: -@n: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: -@s3_1: -@s4_1: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: -@s3_1: -@s4_1: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: -@s3_1: -@s4_1: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_s32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: -@s3_1: -@s4_1: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: -@s3_1: -@s4_1: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_s_f32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_s_f64 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_s_s16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_s_s8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_s_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_s_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_u16 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: -@s3_1: -@s4_1: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_u32 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: -@s3_1: -@s4_1: - -<!-- ##### USER_FUNCTION _oil_type_vectoradd_u8 ##### --> -<para> - -</para> - -@dest: -@dstr: -@src1: -@sstr1: -@src2: -@sstr2: -@n: -@s3_1: -@s4_1: - -<!-- ##### USER_FUNCTION _oil_type_yuv2rgbx_sub2_u8 ##### --> -<para> - -</para> - -@d_4xn: -@src1: -@src2: -@src3: -@n: - -<!-- ##### USER_FUNCTION _oil_type_yuv2rgbx_sub4_u8 ##### --> -<para> - -</para> - -@d_4xn: -@src1: -@src2: -@src3: -@n: - -<!-- ##### USER_FUNCTION _oil_type_yuv2rgbx_u8 ##### --> -<para> - -</para> - -@d_4xn: -@src1: -@src2: -@src3: -@n: - -<!-- ##### USER_FUNCTION _oil_type_zigzag8x8_s16 ##### --> -<para> - -</para> - -@d_8x8: -@ds: -@s_8x8: -@ss: - -<!-- ##### VARIABLE oil_function_class_ptr_abs_f32_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_abs_f64_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_abs_u16_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_abs_u32_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_abs_u8_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_argb_paint_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_average2_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_ayuv2argb_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clip_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clip_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clip_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clip_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clip_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clip_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clip_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clip_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv8x8_u8_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s16_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s16_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s16_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s16_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s16_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s32_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s32_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s32_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s8_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s8_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s8_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s8_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s8_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s8_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_s8_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u16_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u16_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u16_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u16_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u16_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u32_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u32_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u32_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u8_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u8_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u8_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u8_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u8_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u8_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_clipconv_u8_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv8x8_f64_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv8x8_s16_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f32_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f32_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f32_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f32_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f32_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f32_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f32_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f64_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f64_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f64_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f64_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f64_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f64_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_f64_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s16_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s16_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s16_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s16_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s16_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s16_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s16_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s32_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s32_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s32_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s32_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s32_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s32_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s32_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s8_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s8_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s8_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s8_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s8_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s8_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_s8_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u16_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u16_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u16_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u16_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u16_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u16_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u16_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u32_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u32_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u32_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u32_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u32_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u32_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u32_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u8_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u8_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u8_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u8_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u8_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u8_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_conv_u8_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_copy_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_dct36_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_dequantize8x8_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_diffsquaresum_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_fdct8_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_fdct8x8_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_fdct8x8s_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_idct8_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_idct8x8_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_idct8x8_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_imdct12_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_imdct32_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_imdct36_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_md5 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_mdct12_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_mdct36_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_mix_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_mult8x8_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_multsum_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_multsum_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_null ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_permute_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_permute_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_permute_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_permute_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_permute_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_permute_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_permute_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_permute_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_rgb2bgr ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_rgb2rgba ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_sad8x8_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_sad8x8_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalaradd_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalaradd_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalaradd_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalaradd_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalaradd_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalaradd_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalaradd_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalaradd_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalarmult_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalarmult_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalarmult_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalarmult_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalarmult_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalarmult_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalarmult_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scalarmult_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_scanlinescale2_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_sincos_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_splat_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_splat_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_squaresum_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_sum_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_tablelookup_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_trans8x8_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_trans8x8_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_trans8x8_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_trans8x8_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_unzigzag8x8_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_utf8_validate ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_s32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_s_f32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_s_f64 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_s_s16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_s_s8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_s_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_s_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_u16 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_u32 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_vectoradd_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_yuv2rgbx_sub2_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_yuv2rgbx_sub4_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_yuv2rgbx_u8 ##### --> -<para> - -</para> - - -<!-- ##### VARIABLE oil_function_class_ptr_zigzag8x8_s16 ##### --> -<para> - -</para> - - -<!-- ##### FUNCTION oil_test_init_dest_arrays ##### --> -<para> - -</para> - -@test: - -<!-- ##### FUNCTION oil_test_init_params ##### --> -<para> - -</para> - -@test: - -<!-- ##### FUNCTION oil_test_init_src_arrays ##### --> -<para> - -</para> - -@test: - diff --git a/doc/tmpl/liboil.sgml b/doc/tmpl/liboil.sgml index dd75aed..c074563 100644 --- a/doc/tmpl/liboil.sgml +++ b/doc/tmpl/liboil.sgml @@ -1,8 +1,8 @@ <!-- ##### SECTION Title ##### --> -Initialization +liboil <!-- ##### SECTION Short_Description ##### --> -Functions for library initialization + <!-- ##### SECTION Long_Description ##### --> <para> diff --git a/doc/tmpl/liboilfuncs-conv.sgml b/doc/tmpl/liboilfuncs-conv.sgml index ea882ac..c2843b4 100644 --- a/doc/tmpl/liboilfuncs-conv.sgml +++ b/doc/tmpl/liboilfuncs-conv.sgml @@ -1,13 +1,12 @@ <!-- ##### SECTION Title ##### --> -Type conversion +liboilfuncs-conv <!-- ##### SECTION Short_Description ##### --> -Type conversion function classes + <!-- ##### SECTION Long_Description ##### --> <para> -These functions convert values in the source array from the source -type to the destination type. + </para> <!-- ##### SECTION See_Also ##### --> @@ -21,8 +20,6 @@ type to the destination type. <!-- ##### FUNCTION oil_clipconv8x8_u8_s16 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @d_8x8: @@ -34,8 +31,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s16_f32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -48,8 +43,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s16_f64 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -62,8 +55,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s16_s32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -76,8 +67,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s16_u16 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -90,8 +79,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s16_u32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -104,8 +91,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s32_f32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -118,8 +103,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s32_f64 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -132,8 +115,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s32_u32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -146,8 +127,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s8_f32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -160,8 +139,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s8_f64 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -174,8 +151,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s8_s16 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -188,8 +163,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s8_s32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -202,8 +175,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s8_u16 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -216,8 +187,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s8_u32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -230,8 +199,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_s8_u8 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -244,8 +211,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u16_f32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -258,8 +223,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u16_f64 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -272,8 +235,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u16_s16 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -286,8 +247,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u16_s32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -300,8 +259,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u16_u32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -314,8 +271,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u32_f32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -328,8 +283,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u32_f64 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -342,8 +295,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u32_s32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -356,8 +307,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u8_f32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -370,8 +319,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u8_f64 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -384,8 +331,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u8_s16 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -398,8 +343,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u8_s32 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -412,8 +355,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u8_s8 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -426,8 +367,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u8_u16 ##### --> <para> -Converts source array to type of destination array, clipping values -to the range of the destination type. </para> @dest: @@ -440,9 +379,6 @@ to the range of the destination type. <!-- ##### FUNCTION oil_clipconv_u8_u32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -455,9 +391,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv8x8_f64_s16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @d_8x8: @@ -469,9 +402,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv8x8_s16_f64 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @d_8x8: @@ -483,9 +413,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f32_f64 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -498,9 +425,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f32_s16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -513,9 +437,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f32_s32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -528,9 +449,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f32_s8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -543,9 +461,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f32_u16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -558,9 +473,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f32_u32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -573,9 +485,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f32_u8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -588,9 +497,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f64_f32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -603,9 +509,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f64_s16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -618,9 +521,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f64_s32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -633,9 +533,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f64_s8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -648,9 +545,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f64_u16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -663,9 +557,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f64_u32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -678,9 +569,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_f64_u8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -693,9 +581,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s16_f32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -708,9 +593,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s16_f64 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -723,9 +605,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s16_s32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -738,9 +617,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s16_s8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -753,9 +629,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s16_u16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -768,9 +641,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s16_u32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -783,9 +653,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s16_u8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -798,9 +665,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s32_f32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -813,9 +677,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s32_f64 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -828,9 +689,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s32_s16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -843,9 +701,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s32_s8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -858,9 +713,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s32_u16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -873,9 +725,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s32_u32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -888,9 +737,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s32_u8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -903,9 +749,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s8_f32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -918,9 +761,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s8_f64 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -933,9 +773,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s8_s16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -948,9 +785,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s8_s32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -963,9 +797,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s8_u16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -978,9 +809,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s8_u32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -993,9 +821,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_s8_u8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1008,9 +833,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u16_f32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1023,9 +845,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u16_f64 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1038,9 +857,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u16_s16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1053,9 +869,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u16_s32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1068,9 +881,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u16_s8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1083,9 +893,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u16_u32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1098,9 +905,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u16_u8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1113,9 +917,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u32_f32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1128,9 +929,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u32_f64 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1143,9 +941,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u32_s16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1158,9 +953,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u32_s32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1173,9 +965,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u32_s8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1188,9 +977,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u32_u16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1203,9 +989,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u32_u8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1218,9 +1001,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u8_f32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1233,9 +1013,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u8_f64 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1248,9 +1025,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u8_s16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1263,9 +1037,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u8_s32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1278,9 +1049,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u8_s8 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1293,9 +1061,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u8_u16 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1308,9 +1073,6 @@ are unspecified. <!-- ##### FUNCTION oil_conv_u8_u32 ##### --> <para> -Converts each element in the source array to the type of destination -array. Destination values outside the range of the destination type -are unspecified. </para> @dest: @@ -1322,7 +1084,7 @@ are unspecified. <!-- ##### FUNCTION oil_scaleconv_f32_s16 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1334,7 +1096,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_f32_s32 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1346,7 +1108,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_f32_s8 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1358,7 +1120,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_f32_u16 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1370,7 +1132,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_f32_u32 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1382,7 +1144,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_f32_u8 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1394,7 +1156,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_f64_s16 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1406,7 +1168,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_f64_s32 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1418,7 +1180,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_f64_s8 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1430,7 +1192,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_f64_u16 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1442,7 +1204,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_f64_u32 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1454,7 +1216,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_f64_u8 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1466,7 +1228,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_s16_f32 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1478,7 +1240,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_s16_f64 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1490,7 +1252,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_s32_f32 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1502,7 +1264,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_s32_f64 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1514,7 +1276,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_s8_f32 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1526,7 +1288,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_s8_f64 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1538,7 +1300,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_u16_f32 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1550,7 +1312,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_u16_f64 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1562,7 +1324,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_u32_f32 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1574,7 +1336,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_u32_f64 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1586,7 +1348,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_u8_f32 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -1598,7 +1360,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_scaleconv_u8_f64 ##### --> <para> -Requires version 0.3.2 + </para> @dest: diff --git a/doc/tmpl/liboilfuncs-copy.sgml b/doc/tmpl/liboilfuncs-copy.sgml index 0e5b854..5b6bd9f 100644 --- a/doc/tmpl/liboilfuncs-copy.sgml +++ b/doc/tmpl/liboilfuncs-copy.sgml @@ -1,13 +1,12 @@ <!-- ##### SECTION Title ##### --> -Copying +liboilfuncs-copy <!-- ##### SECTION Short_Description ##### --> -Copy and rearrangement function classes + <!-- ##### SECTION Long_Description ##### --> <para> -These functions copy data from source array to destination array, -sometimes modifying position in the array. + </para> <!-- ##### SECTION See_Also ##### --> @@ -21,8 +20,6 @@ sometimes modifying position in the array. <!-- ##### FUNCTION oil_copy_u8 ##### --> <para> -Copies the source array to the destination array with no modification. -This function is identical to memcpy(). </para> @dest: @@ -145,8 +142,6 @@ This function is identical to memcpy(). <!-- ##### FUNCTION oil_splat_u32 ##### --> <para> -Copies the value in the source array to each element in the destination -array. </para> @dest: @@ -158,8 +153,6 @@ array. <!-- ##### FUNCTION oil_splat_u8 ##### --> <para> -Copies the value in the source array to each element in the destination -array. </para> @dest: @@ -185,7 +178,6 @@ array. <!-- ##### FUNCTION oil_trans8x8_f64 ##### --> <para> -Transposes the source array. </para> @d_8x8: @@ -197,7 +189,6 @@ Transposes the source array. <!-- ##### FUNCTION oil_trans8x8_u16 ##### --> <para> -Transposes the source array. </para> @d_8x8: @@ -209,7 +200,6 @@ Transposes the source array. <!-- ##### FUNCTION oil_trans8x8_u32 ##### --> <para> -Transposes the source array. </para> @d_8x8: @@ -221,7 +211,6 @@ Transposes the source array. <!-- ##### FUNCTION oil_trans8x8_u8 ##### --> <para> -Transposes the source array. </para> @d_8x8: @@ -254,7 +243,7 @@ Transposes the source array. <!-- ##### FUNCTION oil_splat_u32_ns ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -264,7 +253,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_splat_u8_ns ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -274,7 +263,7 @@ Requires version 0.3.2 <!-- ##### MACRO oil_trans8x8_s16 ##### --> <para> -Requires version 0.3.2 + </para> @dest: @@ -285,11 +274,11 @@ Requires version 0.3.2 <!-- ##### MACRO oil_memcpy ##### --> <para> -Copies data from a source location to destination. Similar to memcpy(). + </para> -@dest: pointer to destination memory -@src: pointer to source memory -@n_bytes: number of bytes to copy +@dest: +@src: +@n_bytes: diff --git a/doc/tmpl/liboilfuncs-dct.sgml b/doc/tmpl/liboilfuncs-dct.sgml index 6a20dc7..caecb79 100644 --- a/doc/tmpl/liboilfuncs-dct.sgml +++ b/doc/tmpl/liboilfuncs-dct.sgml @@ -1,49 +1,12 @@ <!-- ##### SECTION Title ##### --> -DCT +liboilfuncs-dct <!-- ##### SECTION Short_Description ##### --> -Discrete Cosine Transform Related Function Classes -<!-- ##### SECTION Long_Description ##### --> -<para> -Functions operate on arrays of data. The arrays can be either source -arrays (input only), destination arrays (output only), or in-place -arrays (both input and output). -</para> - -<para> -The interpretation of a parameter can usually be determined from its -name. Parameters for arrays are of the form d1_1xn, where the first -character represents the direction (source, destination, or in-place), -the second represents the index for that particular direction, and -the characters after the underscore indicate the size of the array. -In this case, "1xn" represents an array that is 1 by N. Note that -the index and the size can both be omitted, giving a default of 1 -for the index and 1xn for the size. -</para> - -<para> -Parameters that represent strides are of the form "d1s". The -interpretation is similar to above, except that the s indicates -a stride parameter. -</para> - -<para> -The exceptions to the above rule are "dest", "src", "dstr", "sstr", etc. -These are aliases for "d1", "s1", "d1s", and "s1s", respectively. This -form is deprecated and will be removed in the 0.4 series. -</para> +<!-- ##### SECTION Long_Description ##### --> <para> -Two special parameters are "n" and "m", which determine the size of -the arrays in other parameters. -</para> -<para> -Data arrays are laid out such that rows are separated by the number -of bytes given by the corresponding stride. Elements in each row -are contiguous. If there is no stride parameter corresponding to an -array, the rows of the array are contiguous. </para> <!-- ##### SECTION See_Also ##### --> @@ -68,7 +31,6 @@ array, the rows of the array are contiguous. <!-- ##### FUNCTION oil_fdct8_f64 ##### --> <para> -Calculates the forward discrete cosine transform on the source array. </para> @d_8: @@ -80,7 +42,6 @@ Calculates the forward discrete cosine transform on the source array. <!-- ##### FUNCTION oil_fdct8x8_f64 ##### --> <para> -Calculates the 2-D forward discrete cosine transform on the source array. </para> @d_8x8: @@ -92,9 +53,6 @@ Calculates the 2-D forward discrete cosine transform on the source array. <!-- ##### FUNCTION oil_fdct8x8s_s16 ##### --> <para> -Calculates the 2-D forward discrete cosine transform on the source array, -multiplying some values in the destination array by values interesting -to the algorithm. This function is not recommended. </para> @d_8x8: @@ -106,7 +64,6 @@ to the algorithm. This function is not recommended. <!-- ##### FUNCTION oil_idct8_f64 ##### --> <para> -Calculates the inverse discrete cosine transform on the source array. </para> @d_8: @@ -118,7 +75,6 @@ Calculates the inverse discrete cosine transform on the source array. <!-- ##### FUNCTION oil_idct8x8_f64 ##### --> <para> -Calculates the 2-D inverse discrete cosine transform on the source array. </para> @d_8x8: @@ -130,9 +86,6 @@ Calculates the 2-D inverse discrete cosine transform on the source array. <!-- ##### FUNCTION oil_idct8x8_s16 ##### --> <para> -Calculates the 2-D inverse discrete cosine transform on the source array, -multiplying some values in the destination array by values interesting -to the algorithm. This function is not recommended. </para> @d_8x8: @@ -144,8 +97,6 @@ to the algorithm. This function is not recommended. <!-- ##### FUNCTION oil_imdct12_f64 ##### --> <para> -Calculate the inverse modified discrete cosine transform of the source -array. This function is interesting in mp3 decoding. </para> @d_12: @@ -155,8 +106,6 @@ array. This function is interesting in mp3 decoding. <!-- ##### FUNCTION oil_imdct32_f32 ##### --> <para> -Calculate the inverse modified discrete cosine transform of the source -array. This function is interesting in mp3 decoding. </para> @d_32: @@ -166,8 +115,6 @@ array. This function is interesting in mp3 decoding. <!-- ##### FUNCTION oil_imdct36_f64 ##### --> <para> -Calculate the inverse modified discrete cosine transform of the source -array. This function is interesting in mp3 decoding. </para> @d_36: @@ -177,7 +124,6 @@ array. This function is interesting in mp3 decoding. <!-- ##### FUNCTION oil_mdct12_f64 ##### --> <para> -Calculates the modified discrete cosine transform of the source array. </para> @d_6: @@ -187,7 +133,6 @@ Calculates the modified discrete cosine transform of the source array. <!-- ##### FUNCTION oil_mdct36_f64 ##### --> <para> -Calculates the modified discrete cosine transform of the source array. </para> @d_18: @@ -196,7 +141,7 @@ Calculates the modified discrete cosine transform of the source array. <!-- ##### FUNCTION oil_idct8theora_s16 ##### --> <para> -Requires version 0.3.2 + </para> @d_8: @@ -207,7 +152,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_idct8x8lim10_f64 ##### --> <para> -Requires version 0.3.2 + </para> @d_8x8: @@ -218,7 +163,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_idct8x8lim10_s16 ##### --> <para> -Requires version 0.3.2 + </para> @d_8x8: @@ -229,7 +174,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_idct8x8theora_s16 ##### --> <para> -Requires version 0.3.2 + </para> @d_8x8: diff --git a/doc/tmpl/liboilfuncs-doc.sgml b/doc/tmpl/liboilfuncs-doc.sgml index 424abbb..806b8fc 100644 --- a/doc/tmpl/liboilfuncs-doc.sgml +++ b/doc/tmpl/liboilfuncs-doc.sgml @@ -1,49 +1,12 @@ <!-- ##### SECTION Title ##### --> -Other Function Classes +liboilfuncs-doc <!-- ##### SECTION Short_Description ##### --> -Other Function Classes -<!-- ##### SECTION Long_Description ##### --> -<para> -Functions operate on arrays of data. The arrays can be either source -arrays (input only), destination arrays (output only), or in-place -arrays (both input and output). -</para> - -<para> -The interpretation of a parameter can usually be determined from its -name. Parameters for arrays are of the form d1_1xn, where the first -character represents the direction (source, destination, or in-place), -the second represents the index for that particular direction, and -the characters after the underscore indicate the size of the array. -In this case, "1xn" represents an array that is 1 by N. Note that -the index and the size can both be omitted, giving a default of 1 -for the index and 1xn for the size. -</para> - -<para> -Parameters that represent strides are of the form "d1s". The -interpretation is similar to above, except that the s indicates -a stride parameter. -</para> - -<para> -The exceptions to the above rule are "dest", "src", "dstr", "sstr", etc. -These are aliases for "d1", "s1", "d1s", and "s1s", respectively. This -form is deprecated and will be removed in the 0.4 series. -</para> +<!-- ##### SECTION Long_Description ##### --> <para> -Two special parameters are "n" and "m", which determine the size of -the arrays in other parameters. -</para> -<para> -Data arrays are laid out such that rows are separated by the number -of bytes given by the corresponding stride. Elements in each row -are contiguous. If there is no stride parameter corresponding to an -array, the rows of the array are contiguous. </para> <!-- ##### SECTION See_Also ##### --> @@ -57,7 +20,6 @@ array, the rows of the array are contiguous. <!-- ##### FUNCTION oil_clip_f32 ##### --> <para> -Clips each element in the first source array. </para> @dest: @@ -65,14 +27,13 @@ Clips each element in the first source array. @src: @sstr: @n: -@s2_1: minumum -@s3_1: maximum +@s2_1: +@s3_1: <!-- ##### FUNCTION oil_clip_f64 ##### --> <para> -Clips each element in the first source array. </para> @dest: @@ -80,14 +41,13 @@ Clips each element in the first source array. @src: @sstr: @n: -@s2_1: minumum -@s3_1: maximum +@s2_1: +@s3_1: <!-- ##### FUNCTION oil_clip_s16 ##### --> <para> -Clips each element in the first source array. </para> @dest: @@ -95,14 +55,13 @@ Clips each element in the first source array. @src: @sstr: @n: -@s2_1: minumum -@s3_1: maximum +@s2_1: +@s3_1: <!-- ##### FUNCTION oil_clip_s32 ##### --> <para> -Clips each element in the first source array. </para> @dest: @@ -110,14 +69,13 @@ Clips each element in the first source array. @src: @sstr: @n: -@s2_1: minimum -@s3_1: maximum +@s2_1: +@s3_1: <!-- ##### FUNCTION oil_clip_s8 ##### --> <para> -Clips each element in the first source array. </para> @dest: @@ -125,14 +83,13 @@ Clips each element in the first source array. @src: @sstr: @n: -@s2_1: minimum -@s3_1: maximum +@s2_1: +@s3_1: <!-- ##### FUNCTION oil_clip_u16 ##### --> <para> -Clips each element in the first source array. </para> @dest: @@ -140,14 +97,13 @@ Clips each element in the first source array. @src: @sstr: @n: -@s2_1: minimum -@s3_1: maximum +@s2_1: +@s3_1: <!-- ##### FUNCTION oil_clip_u32 ##### --> <para> -Clips each element in the first source array. </para> @dest: @@ -155,14 +111,13 @@ Clips each element in the first source array. @src: @sstr: @n: -@s2_1: minimum -@s3_1: maximum +@s2_1: +@s3_1: <!-- ##### FUNCTION oil_clip_u8 ##### --> <para> -Clips each element in the first source array. </para> @dest: @@ -170,16 +125,13 @@ Clips each element in the first source array. @src: @sstr: @n: -@s2_1: minimum -@s3_1: maximum +@s2_1: +@s3_1: <!-- ##### FUNCTION oil_dequantize8x8_s16 ##### --> <para> -Multiplies each value in first source array with corresponding value -in second source array, and places result in destination array. This -function would be more appropriately called oil_mult8x8_s16(). </para> @d_8x8: @@ -193,9 +145,6 @@ function would be more appropriately called oil_mult8x8_s16(). <!-- ##### FUNCTION oil_diffsquaresum_f64 ##### --> <para> -Subtracts each value in first source array with corresponding value -in second source array, squares the result, and then sums the results -over the entire array, placing the result in the destination. </para> @d_1: @@ -209,10 +158,6 @@ over the entire array, placing the result in the destination. <!-- ##### FUNCTION oil_md5 ##### --> <para> -Convolves the MD5 checksum using the given source data. The complete -algorithm for calculating MD5 checksums requires additional preparation -of the data. See the example in the examples/md5 directory in the -source tree. </para> @i_4: @@ -234,7 +179,6 @@ source tree. <!-- ##### FUNCTION oil_null ##### --> <para> -Does nothing, and does it surprisingly fast. </para> @@ -244,8 +188,8 @@ Does nothing, and does it surprisingly fast. </para> -@dest: -@src: +@d: +@s: @n: @@ -264,9 +208,6 @@ Does nothing, and does it surprisingly fast. <!-- ##### FUNCTION oil_utf8_validate ##### --> <para> -Checks the source array for valid UTF-8 characters. Processing stops -once an invalid character is found. The number of bytes containing -valid UTF-8 characters is placed in the destination. </para> @d_1: @@ -279,7 +220,7 @@ valid UTF-8 characters is placed in the destination. </para> -@d_64: +@d_8x8: @s1_8x8: @ss1: @s2_8x8: @@ -291,7 +232,7 @@ valid UTF-8 characters is placed in the destination. </para> -@d_64: +@d_8x8: @s1_8x8: @ss1: @s2_8x8: @@ -372,7 +313,7 @@ valid UTF-8 characters is placed in the destination. </para> -@d_64: +@d_8x8: @s1_8x8: @ss1: diff --git a/doc/tmpl/liboilfuncs-math.sgml b/doc/tmpl/liboilfuncs-math.sgml index 38890f1..3ca912b 100644 --- a/doc/tmpl/liboilfuncs-math.sgml +++ b/doc/tmpl/liboilfuncs-math.sgml @@ -82,11 +82,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @@ -122,9 +122,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -135,9 +135,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -148,9 +148,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -161,9 +161,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -174,9 +174,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -187,9 +187,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -200,9 +200,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -213,9 +213,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -226,9 +226,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -239,9 +239,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -252,9 +252,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -265,9 +265,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -278,9 +278,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -291,9 +291,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -304,9 +304,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -317,9 +317,9 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src: +@s1: @sstr: @s2_1: @n: @@ -330,11 +330,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @s3_1: @@ -346,11 +346,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @s3_1: @@ -362,11 +362,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @s3_1: @@ -378,11 +378,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @s3_1: @@ -394,11 +394,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @s3_1: @@ -410,11 +410,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @s3_1: @@ -426,11 +426,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @s3_1: @@ -442,11 +442,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @s3_1: @@ -458,11 +458,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @@ -472,11 +472,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @@ -486,11 +486,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @@ -500,11 +500,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @@ -514,11 +514,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @@ -528,11 +528,11 @@ liboilfuncs-math </para> -@dest: +@d: @dstr: -@src1: +@s1: @sstr1: -@src2: +@s2: @sstr2: @n: @@ -542,8 +542,8 @@ liboilfuncs-math </para> -@dest: -@src: +@d: +@s: @n: @@ -552,8 +552,8 @@ liboilfuncs-math </para> -@dest: -@src: +@d_1: +@s: @sstr: @n: diff --git a/doc/tmpl/liboilfuncs-math8x8.sgml b/doc/tmpl/liboilfuncs-math8x8.sgml index 0e4d573..3a9bf41 100644 --- a/doc/tmpl/liboilfuncs-math8x8.sgml +++ b/doc/tmpl/liboilfuncs-math8x8.sgml @@ -1,11 +1,12 @@ <!-- ##### SECTION Title ##### --> -Simple Math on 8x8 Blocks +liboilfuncs-math8x8 <!-- ##### SECTION Short_Description ##### --> -Arithmetic Operations on 8x8 Blocks + <!-- ##### SECTION Long_Description ##### --> <para> + </para> <!-- ##### SECTION See_Also ##### --> @@ -57,7 +58,7 @@ Arithmetic Operations on 8x8 Blocks <!-- ##### FUNCTION oil_sad8x8_f64_2 ##### --> <para> -Requires version 0.3.2 + </para> @d_1: @@ -69,7 +70,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_sad8x8_s16_2 ##### --> <para> -Requires version 0.3.2 + </para> @d_1: @@ -81,7 +82,7 @@ Requires version 0.3.2 <!-- ##### FUNCTION oil_sad8x8_u8 ##### --> <para> -Requires version 0.3.2 + </para> @d_1: diff --git a/doc/tmpl/liboilfuncs-pixel.sgml b/doc/tmpl/liboilfuncs-pixel.sgml index 65589e8..8363441 100644 --- a/doc/tmpl/liboilfuncs-pixel.sgml +++ b/doc/tmpl/liboilfuncs-pixel.sgml @@ -1,11 +1,12 @@ <!-- ##### SECTION Title ##### --> -Pixel Operations +liboilfuncs-pixel <!-- ##### SECTION Short_Description ##### --> -Pixel Operation Function Classes + <!-- ##### SECTION Long_Description ##### --> <para> + </para> <!-- ##### SECTION See_Also ##### --> @@ -30,7 +31,6 @@ Pixel Operation Function Classes <!-- ##### FUNCTION oil_ayuv2argb_u8 ##### --> <para> -Converts an array of AYUV pixels to ARGB. </para> @d_4xn: diff --git a/doc/tmpl/liboilfunction.sgml b/doc/tmpl/liboilfunction.sgml index 39654d5..6c24fff 100644 --- a/doc/tmpl/liboilfunction.sgml +++ b/doc/tmpl/liboilfunction.sgml @@ -60,13 +60,6 @@ OilFunction </para> -@next: -@klass: -@func: -@flags: -@name: -@profile_ave: -@profile_std: <!-- ##### MACRO OIL_GET ##### --> <para> diff --git a/doc/tmpl/liboilparameter.sgml b/doc/tmpl/liboilparameter.sgml index b260d95..e0b5993 100644 --- a/doc/tmpl/liboilparameter.sgml +++ b/doc/tmpl/liboilparameter.sgml @@ -78,26 +78,4 @@ liboilparameter </para> -@type_name: -@parameter_name: -@order: -@type: -@direction: -@is_pointer: -@is_stride: -@index: -@prestride_length: -@prestride_var: -@poststride_length: -@poststride_var: -@parameter_type: -@src_data: -@ref_data: -@test_data: -@value: -@pre_n: -@post_n: -@stride: -@size: -@guard: diff --git a/doc/tmpl/liboilprofile.sgml b/doc/tmpl/liboilprofile.sgml index 201d580..dbc2bb7 100644 --- a/doc/tmpl/liboilprofile.sgml +++ b/doc/tmpl/liboilprofile.sgml @@ -29,15 +29,6 @@ liboilprofile </para> -@start: -@stop: -@min: -@last: -@total: -@n: -@hist_n: -@hist_time: -@hist_count: <!-- ##### MACRO oil_profile_stamp ##### --> <para> diff --git a/doc/tmpl/liboiltest.sgml b/doc/tmpl/liboiltest.sgml index c0e4333..a364d49 100644 --- a/doc/tmpl/liboiltest.sgml +++ b/doc/tmpl/liboiltest.sgml @@ -22,18 +22,6 @@ liboiltest </para> -@klass: -@impl: -@proto: -@params: -@prof: -@iterations: -@n: -@m: -@inited: -@tested_ref: -@sum_abs_diff: -@n_points: <!-- ##### MACRO OIL_TEST_HEADER ##### --> <para> diff --git a/doc/tmpl/liboiltypes.sgml b/doc/tmpl/liboiltypes.sgml index 1a14c87..013e084 100644 --- a/doc/tmpl/liboiltypes.sgml +++ b/doc/tmpl/liboiltypes.sgml @@ -17,85 +17,29 @@ liboiltypes <!-- ##### SECTION Stability_Level ##### --> -<!-- ##### MACRO NULL ##### --> -<para> - -</para> - - - <!-- ##### STRUCT OilFunctionClass ##### --> <para> </para> -@func: -@name: -@desc: -@test_func: -@first_impl: -@reference_impl: -@chosen_impl: -@prototype: <!-- ##### STRUCT OilFunctionImpl ##### --> <para> </para> -@next: -@klass: -@func: -@flags: -@name: -@profile_ave: -@profile_std: <!-- ##### STRUCT OilParameter ##### --> <para> </para> -@type_name: -@parameter_name: -@order: -@type: -@direction: -@is_pointer: -@is_stride: -@index: -@prestride_length: -@prestride_var: -@poststride_length: -@poststride_var: -@parameter_type: -@src_data: -@ref_data: -@test_data: -@value: -@pre_n: -@post_n: -@stride: -@size: -@guard: <!-- ##### STRUCT OilTest ##### --> <para> </para> -@klass: -@impl: -@proto: -@params: -@prof: -@iterations: -@n: -@m: -@inited: -@tested_ref: -@sum_abs_diff: -@n_points: <!-- ##### USER_FUNCTION OilTestFunction ##### --> <para> diff --git a/liboil/dct/dct12_f32.c b/liboil/dct/dct12_f32.c index c654c26..16c5d52 100644 --- a/liboil/dct/dct12_f32.c +++ b/liboil/dct/dct12_f32.c @@ -34,9 +34,41 @@ #include <math.h> +/** + * oil_mdct12_f64: + * @d_6: + * @s_12: + * + * Performs a Modified Discrete Cosine Transform (MDCT) + * on the source array @s_12 and places the result in @d_6. + */ OIL_DEFINE_CLASS (mdct12_f64, "double *d_6, double *s_12"); +/** + * oil_imdct12_f64: + * @d_12: + * @s_6: + * + * Performs a Inverse Modified Discrete Cosine Transform (IMDCT) + * on the source array @s_6 and places the result in @d_12. + */ OIL_DEFINE_CLASS (imdct12_f64, "double *d_12, double *s_6"); +/** + * oil_mdct36_f64: + * @d_18: + * @s_36: + * + * Performs a Modified Discrete Cosine Transform (MDCT) + * on the source array @s_36 and places the result in @d_18. + */ OIL_DEFINE_CLASS (mdct36_f64, "double *d_18, double *s_36"); +/** + * oil_imdct36_f64: + * @d_36: + * @s_18: + * + * Performs a Inverse Modified Discrete Cosine Transform (IMDCT) + * on the source array @s_18 and places the result in @d_36. + */ OIL_DEFINE_CLASS (imdct36_f64, "double *d_36, double *s_18"); static void diff --git a/liboil/dct/dct36_f32.c b/liboil/dct/dct36_f32.c index f1315c7..7b3897b 100644 --- a/liboil/dct/dct36_f32.c +++ b/liboil/dct/dct36_f32.c @@ -32,6 +32,15 @@ #include <liboil/liboilfunction.h> #include <liboil/dct/dct.h> +/** + * oil_dct36_f32: + * @d_36: + * @dstr: + * @s_36: + * @sstr: + * + * FIXME: This function is broken. + */ OIL_DEFINE_CLASS(dct36_f32, "float *d_36, int dstr, float *s_36, int sstr"); static void diff --git a/liboil/dct/fdct8_f64.c b/liboil/dct/fdct8_f64.c index 65d6bea..55a792a 100644 --- a/liboil/dct/fdct8_f64.c +++ b/liboil/dct/fdct8_f64.c @@ -33,6 +33,16 @@ #include <liboil/dct/dct.h> #include <math.h> +/** + * oil_fdct8_f64: + * @d_8: + * @s_8: + * @dstr: + * @sstr: + * + * Performs a Forward Discrete Cosine Transform on @s_8 and places + * the result in @d_8. + */ OIL_DEFINE_CLASS (fdct8_f64, "double *d_8, double *s_8, int dstr, int sstr"); #define C0_9808 0.980785280 diff --git a/liboil/dct/fdct8x8_f64.c b/liboil/dct/fdct8x8_f64.c index d6f3b38..6ae1f3d 100644 --- a/liboil/dct/fdct8x8_f64.c +++ b/liboil/dct/fdct8x8_f64.c @@ -35,6 +35,16 @@ #include <math.h> +/** + * oil_fdct8x8_f64: + * @d_8x8: + * @dstr: + * @s_8x8: + * @sstr: + * + * Performs a 2-D Forward Discrete Cosine Transform on @s_8x8 and places + * the result in @d_8x8. + */ OIL_DEFINE_CLASS(fdct8x8_f64, "double *d_8x8, int dstr, double *s_8x8, int sstr"); diff --git a/liboil/dct/fdct8x8s_s16.c b/liboil/dct/fdct8x8s_s16.c index 4e522b4..73a4697 100644 --- a/liboil/dct/fdct8x8s_s16.c +++ b/liboil/dct/fdct8x8s_s16.c @@ -43,11 +43,18 @@ #define C0_3827 0.382683432 #define C0_1951 0.195090322 -/* -Alternate scaling used by RTjpeg. -*/ - - +/** + * oil_fdct8x8s_s16: + * @d_8x8: + * @dstr: + * @s_8x8: + * @sstr: + * + * Performs a 2-D Forward Discrete Cosine Transform on @s_8x8 and places + * the result in @d_8x8. + * + * This function uses an alternate scaling used by RTjpeg. + */ OIL_DEFINE_CLASS(fdct8x8s_s16, "int16_t *d_8x8, int ds, int16_t *s_8x8, int ss"); diff --git a/liboil/dct/fdct8x8theora.c b/liboil/dct/fdct8x8theora.c index b485525..48acfca 100644 --- a/liboil/dct/fdct8x8theora.c +++ b/liboil/dct/fdct8x8theora.c @@ -38,7 +38,7 @@ ******************************************************************** function: - last mod: $Id: fdct8x8theora.c,v 1.1 2005-08-03 03:31:18 ds Exp $ + last mod: $Id: fdct8x8theora.c,v 1.2 2005-11-14 05:34:36 ds Exp $ ********************************************************************/ @@ -62,6 +62,17 @@ static int32_t xC7S1 = 12785; #define SIGNBITDUPPED(X) ((signed )(((X) & 0x80000000)) >> 31) #define DOROUND(X) ( (SIGNBITDUPPED(X) & (0xffff)) + (X) ) +/** + * oil_fdct8x8theora: + * @s_8x8: + * @d_8x8: + * + * Calculates the FDCT transformation of @s_8x8 according to the Theora + * specification and places the result in @d_8x8. + * + * Note that the source and destination arrays are reversed compared + * to normal Liboil order. + */ OIL_DEFINE_CLASS(fdct8x8theora, "int16_t *s_8x8, int16_t *d_8x8"); static void diff --git a/liboil/dct/idct8_f64.c b/liboil/dct/idct8_f64.c index 67762fe..f99a3ab 100644 --- a/liboil/dct/idct8_f64.c +++ b/liboil/dct/idct8_f64.c @@ -33,6 +33,16 @@ #include <liboil/dct/dct.h> #include <math.h> +/** + * oil_idct8_f64: + * @d_8: + * @dstr: + * @s_8: + * @sstr: + * + * Performs a Inverse Discrete Cosine Transform on @s_8 and places + * the result in @d_8. + */ OIL_DEFINE_CLASS (idct8_f64, "double *d_8, int dstr, double *s_8, int sstr"); #define C0_9808 0.980785280 diff --git a/liboil/dct/idct8x8_c.c b/liboil/dct/idct8x8_c.c index 96efe00..3157733 100644 --- a/liboil/dct/idct8x8_c.c +++ b/liboil/dct/idct8x8_c.c @@ -43,9 +43,51 @@ #define BLOCK8x8_S16(ptr, stride, row, column) \ (*((int16_t *)((void *)ptr + stride*row) + column)) +/** + * oil_idct8x8_f64: + * @d_8x8: + * @dstr: + * @s_8x8: + * @sstr: + * + * Performs a 2-D Inverse Discrete Cosine Transform on @s_8x8 and places + * the result in @d_8x8. + */ OIL_DEFINE_CLASS (idct8x8_f64, "double *d_8x8, int dstr, double *s_8x8, int sstr"); +/** + * oil_idct8x8lim10_f64: + * @d_8x8: + * @dstr: + * @s_8x8: + * @sstr: + * + * Performs a 2-D Inverse Discrete Cosine Transform on @s_8x8 and places + * the result in @d_8x8. + */ OIL_DEFINE_CLASS (idct8x8lim10_f64, "double *d_8x8, int dstr, double *s_8x8, int sstr"); +/** + * oil_idct8x8_s16: + * @d_8x8: + * @dstr: + * @s_8x8: + * @sstr: + * + * Performs a limited 2-D Inverse Discrete Cosine Transform on @s_8x8 + * and places the result in @d_8x8. The source 8x8 block must be non-zero + * only in the 10 lowest-order components. + */ OIL_DEFINE_CLASS (idct8x8_s16, "int16_t *d_8x8, int dstr, int16_t *s_8x8, int sstr"); +/** + * oil_idct8x8lim10_s16: + * @d_8x8: + * @dstr: + * @s_8x8: + * @sstr: + * + * Performs a limited 2-D Inverse Discrete Cosine Transform on @s_8x8 + * and places the result in @d_8x8. The source 8x8 block must be non-zero + * only in the 10 lowest-order components. + */ OIL_DEFINE_CLASS (idct8x8lim10_s16, "int16_t *d_8x8, int dstr, int16_t *s_8x8, int sstr"); static void diff --git a/liboil/dct/idct8x8theora_ref.c b/liboil/dct/idct8x8theora_ref.c index d2b1c74..3c5fb00 100644 --- a/liboil/dct/idct8x8theora_ref.c +++ b/liboil/dct/idct8x8theora_ref.c @@ -68,7 +68,27 @@ idct8x8theora_s16_test (OilTest *test) } +/** + * oil_idct8theora_s16: + * @d_8: + * @dstr: + * @s_8: + * @sstr: + * + * Performs a Inverse Discrete Cosine Transform on @s_8 and places + * the result in @d_8, as defined by the Theora specification. + */ OIL_DEFINE_CLASS_FULL (idct8theora_s16, "int16_t *d_8, int dstr, int16_t *s_8, int sstr", idct8theora_s16_test); +/** + * oil_idct8x8theora_s16: + * @d_8x8: + * @dstr: + * @s_8x8: + * @sstr: + * + * Performs a Inverse Discrete Cosine Transform on @s_8x8 and places + * the result in @d_8x8, as defined by the Theora specification. + */ OIL_DEFINE_CLASS_FULL (idct8x8theora_s16, "int16_t *d_8x8, int dstr, int16_t *s_8x8, int sstr", idct8x8theora_s16_test); diff --git a/liboil/dct/imdct32_f32.c b/liboil/dct/imdct32_f32.c index db5af43..a5860bd 100644 --- a/liboil/dct/imdct32_f32.c +++ b/liboil/dct/imdct32_f32.c @@ -33,6 +33,15 @@ #include <liboil/dct/dct.h> #include <math.h> + +/** + * oil_imdct32_f32: + * @d_32: + * @s_32: + * + * Performs a Inverse Modified Discrete Cosine Transform (IMDCT) + * on the source array @s_32 and places the result in @d_32. + */ OIL_DEFINE_CLASS (imdct32_f32, "float *d_32, float *s_32"); static void imdct32_f32_ref (float *dest, float *src) diff --git a/liboil/jpeg/convert8x8_c.c b/liboil/jpeg/convert8x8_c.c index 0b6323d..496aa95 100644 --- a/liboil/jpeg/convert8x8_c.c +++ b/liboil/jpeg/convert8x8_c.c @@ -33,10 +33,43 @@ #include <math.h> +/** + * oil_conv8x8_s16_f64: + * @d_8x8: + * @dstr: + * @s_8x8: + * @sstr: + * + * Converts elements in source array @s_8x8 to the destination + * type, placing the results in @d_8x8. + */ OIL_DEFINE_CLASS (conv8x8_s16_f64, "int16_t * d_8x8, int dstr, double *s_8x8, int sstr"); +/** + * oil_conv8x8_f64_s16: + * @d_8x8: + * @dstr: + * @s_8x8: + * @sstr: + * + * Converts elements in source array @s_8x8 to the destination + * type, placing the results in @d_8x8. The conversion of source + * values outside the destination range are undefined and + * implementation dependent. + */ OIL_DEFINE_CLASS (conv8x8_f64_s16, "double *d_8x8, int dstr, int16_t * s_8x8, int sstr"); +/** + * oil_clipconv8x8_u8_s16: + * @d_8x8: + * @dstr: + * @s_8x8: + * @sstr: + * + * Converts elements in source array @s_8x8 to the destination + * type, placing the results in @d_8x8. Source values outside + * the destination range are clipped to the destination range. + */ OIL_DEFINE_CLASS (clipconv8x8_u8_s16, "uint8_t * d_8x8, int dstr, int16_t * s_8x8, int sstr"); diff --git a/liboil/jpeg/jpeg_rgb_decoder.c b/liboil/jpeg/jpeg_rgb_decoder.c index 8a505a6..4665694 100644 --- a/liboil/jpeg/jpeg_rgb_decoder.c +++ b/liboil/jpeg/jpeg_rgb_decoder.c @@ -33,7 +33,18 @@ #include "jpeg.h" -OIL_DEFINE_CLASS (scanlinescale2_u8, "uint8_t *dest, uint8_t *src, int n"); +/** + * oil_scanlinescale2_u8: + * @d: destination array + * @s: source array + * @n: number of elements + * + * Upsamples the source array by a factor of two. That is, if the + * values in @s are A,B,C,D,E, the values written to @d are + * A,A,B,B,C,C,D,D,E,E. Note that @n is the number of elements + * written to @d, and that half of @s is not used. + */ +OIL_DEFINE_CLASS (scanlinescale2_u8, "uint8_t *d, uint8_t *s, int n"); static void scanlinescale2_u8_ref (uint8_t *dest, uint8_t *src, int n) diff --git a/liboil/jpeg/quantize8x8_c.c b/liboil/jpeg/quantize8x8_c.c index e3bd067..7f8e03c 100644 --- a/liboil/jpeg/quantize8x8_c.c +++ b/liboil/jpeg/quantize8x8_c.c @@ -32,8 +32,20 @@ #include <liboil/liboil.h> #include "jpeg.h" +/** + * oil_dequantize8x8_s16: + * @d_8x8: + * @dstr: + * @s1_8x8: + * @sstr1: + * @s2_8x8: + * + * Multiplies each element in @s1_8x8 by the corresponding element + * in @s2_8x8 and places the result in @d_8x8. + */ OIL_DEFINE_CLASS (dequantize8x8_s16, - "int16_t *d_8x8, int dstr, int16_t *s1_8x8, int sstr1, int16_t *s2_8x8, int sstr2"); + "int16_t *d_8x8, int dstr, int16_t *s1_8x8, int sstr1, " + "int16_t *s2_8x8, int sstr2"); #define BLOCK8x8_S16(ptr, stride, row, column) \ (*((int16_t *)((void *)ptr + stride*row) + column)) diff --git a/liboil/jpeg/zigzag8x8_c.c b/liboil/jpeg/zigzag8x8_c.c index 688973c..5534f43 100644 --- a/liboil/jpeg/zigzag8x8_c.c +++ b/liboil/jpeg/zigzag8x8_c.c @@ -32,8 +32,30 @@ #include <liboil/liboil.h> #include "jpeg.h" +/** + * oil_zigzag8x8_s16: + * @d_8x8: + * @ds: + * @s_8x8: + * @ss: + * + * Reorders an 8x8 block using a zig-zag pattern. The zig-zag pattern + * is described in the JPEG specification. + * + * FIXME: describe zigzag pattern + */ OIL_DEFINE_CLASS (zigzag8x8_s16, "int16_t *d_8x8, int ds, int16_t *s_8x8, int ss"); +/** + * oil_unzigzag8x8_s16: + * @d_8x8: + * @ds: + * @s_8x8: + * @ss: + * + * Reorders an 8x8 block to reverse the zig-zag reordering of + * @oil_zigzag8x8_s16. + */ OIL_DEFINE_CLASS (unzigzag8x8_s16, "int16_t *d_8x8, int ds, int16_t *s_8x8, int ss"); diff --git a/liboil/liboilclasses.h b/liboil/liboilclasses.h index a8f07cc..8878e15 100644 --- a/liboil/liboilclasses.h +++ b/liboil/liboilclasses.h @@ -286,6 +286,12 @@ OIL_DECLARE_CLASS(vectoradd_f64); OIL_DECLARE_CLASS(vectoradd_s16); OIL_DECLARE_CLASS(vectoradd_s32); OIL_DECLARE_CLASS(vectoradd_s8); +OIL_DECLARE_CLASS(vectoradd_s_f32); +OIL_DECLARE_CLASS(vectoradd_s_f64); +OIL_DECLARE_CLASS(vectoradd_s_s16); +OIL_DECLARE_CLASS(vectoradd_s_s8); +OIL_DECLARE_CLASS(vectoradd_s_u16); +OIL_DECLARE_CLASS(vectoradd_s_u8); OIL_DECLARE_CLASS(vectoradd_u16); OIL_DECLARE_CLASS(vectoradd_u32); OIL_DECLARE_CLASS(vectoradd_u8); diff --git a/liboil/liboilcolorspace.h b/liboil/liboilcolorspace.h index cb5f297..dfc660c 100644 --- a/liboil/liboilcolorspace.h +++ b/liboil/liboilcolorspace.h @@ -30,28 +30,134 @@ #include <liboil/liboilrandom.h> +/** + * oil_max: + * @x: a value + * @y: a value + * + * Evaluates to the maximum of @x and @y. + */ #define oil_max(x,y) ((x)>(y)?(x):(y)) +/** + * oil_min: + * @x: a value + * @y: a value + * + * Evaluates to the minimum of @x and @y. + */ #define oil_min(x,y) ((x)<(y)?(x):(y)) +/** + * oil_clamp_255: + * @x: a value + * + * Clamps @x to the range [0,255]. + * + * Evaluates to the clamped value. + */ #define oil_clamp_255(x) oil_max(0,oil_min((x),255)) +/** + * oil_argb: + * @a: alpha component + * @r: red component + * @g: green component + * @b: blue component + * + * Creates a Liboil ARGB value from individual components. Clamps + * each component to [0,255]. + * + * Evaluates to the ARGB value + */ #define oil_argb(a,r,g,b) \ ((oil_clamp_255(a)<<24) | \ (oil_clamp_255(r)<<16) | \ (oil_clamp_255(g)<<8) | \ (oil_clamp_255(b)<<0)) +/** + * oil_argb_noclamp: + * @a: alpha component + * @r: red component + * @g: green component + * @b: blue component + * + * Creates a Liboil ARGB value from individual components. Does not + * clamp components. + * + * Evaluates to the ARGB value + */ #define oil_argb_noclamp(a,r,g,b) \ (((a)<<24) | ((r)<<16) | ((g)<<8) | ((b)<<0)) +/** + * oil_argb_A: + * @color: an ARGB value + * + * Extracts the alpha component from @color. + * + * Evaluates to the alpha component + */ #define oil_argb_A(color) (((color)>>24)&0xff) +/** + * oil_argb_R: + * @color: an ARGB value + * + * Extracts the red component from @color. + * + * Evaluates to the red component + */ #define oil_argb_R(color) (((color)>>16)&0xff) +/** + * oil_argb_G: + * @color: an ARGB value + * + * Extracts the green component from @color. + * + * Evaluates to the green component + */ #define oil_argb_G(color) (((color)>>8)&0xff) +/** + * oil_argb_B: + * @color: an ARGB value + * + * Extracts the blue component from @color. + * + * Evaluates to the blue component + */ #define oil_argb_B(color) (((color)>>0)&0xff) +/** + * oil_divide_255: + * @x: a value in the range [0,255] + * + * Divides @x by 255 in a way that is compatible with the pixel + * operations in Liboil. + * + * Evaluates to @x divided by 255. + */ #define oil_divide_255(x) ((((x)+128) + (((x)+128)>>8))>>8) +/** + * oil_muldiv_255: + * @a: a value in the range [0,255] + * @b: a value in the range [0,255] + * + * Multiplies @a and @b and divides the result by 255 in a way that + * is compatible with the pixel operations in Liboil. + * + * Evaluates to the result. + */ #define oil_muldiv_255(a,b) oil_divide_255((a)*(b)) +/** + * oil_rand_rgba: + * @a: an alpha value + * + * Creates a valid random RGBA value with the alpha value @a. Valid + * input values for @a are [0,255]. + * + * Evaluates to the result. + */ #define oil_rand_rgba(a) \ oil_argb_noclamp((a), \ oil_muldiv_255((a),oil_rand_u8()), \ diff --git a/liboil/liboilcpu.c b/liboil/liboilcpu.c index 5ef0077..af592e7 100644 --- a/liboil/liboilcpu.c +++ b/liboil/liboilcpu.c @@ -45,6 +45,12 @@ #include <sys/sysctl.h> #endif +/** + * SECTION:liboilcpu + * @short_description: Checking the capabilities of the current CPU + * + */ + #if defined(__i386__) static char * get_cpuinfo_flags_string (char *cpuinfo); static char ** strsplit (char *s); @@ -308,6 +314,13 @@ _oil_cpu_init (void) OIL_INFO ("cpu flags %08lx", oil_cpu_flags); } +/** + * oil_cpu_get_flags: + * + * Returns a bitmask containing the available CPU features. + * + * Returns: the CPU features. + */ unsigned int oil_cpu_get_flags (void) { @@ -392,6 +405,15 @@ illegal_instruction_handler (int num) } } +/** + * oil_cpu_fault_check_enable: + * + * Enables fault checking mode. This function may be called multiple times. + * Each call to this function must be paired with a corresponding call + * to @oil_cpu_fault_check_disable. + * + * This function sets a signal handler for SIGILL. + */ void oil_cpu_fault_check_enable (void) { @@ -401,13 +423,28 @@ oil_cpu_fault_check_enable (void) action.sa_handler = &illegal_instruction_handler; sigaction (SIGILL, &action, &oldaction); #else - signal (SIGILL, illegal_instruction_handler); + oldhandler = signal (SIGILL, illegal_instruction_handler); #endif in_try_block = 0; } enable_level++; } +/** + * oil_cpu_fault_check_try: + * @func: the function to attempt + * @priv: a value to pass to the function + * + * Calls to this + * function must be preceded by a call to @oil_cpu_fault_check_enable + * to enable fault checking mode. This function sets up recovery + * information and then calls the function @func with the parameter + * @priv. If @func or any other functions it calls attempt to execute + * an illegal instruction, the exception will be caught and recovered from. + * + * Returns: 1 if the function was executed sucessfully, 0 if the + * function attempted to execute an illegal instruction. + */ int oil_cpu_fault_check_try (void (*func) (void *), void *priv) { @@ -423,6 +460,12 @@ oil_cpu_fault_check_try (void (*func) (void *), void *priv) return (ret == 0); } +/** + * oil_cpu_fault_check_disable: + * + * Disables fault checking mode. See @oil_cpu_fault_check_enable + * for details. + */ void oil_cpu_fault_check_disable (void) { @@ -437,32 +480,21 @@ oil_cpu_fault_check_disable (void) } #if 0 -void oil_memory_prefetch_local (void *ptr, int n_bytes) -{ -#ifdef __i386__ - if (oil_cpu_flags & OIL_IMPL_FLAG_MMX) { - asm volatile ( - "prefetcht0 %0\n" - :: "m" (ptr)); - } -#endif - -} - -void oil_memory_prefetch_transient (void *ptr, int n_bytes) -{ -#ifdef __i386__ - if (oil_cpu_flags & OIL_IMPL_FLAG_MMX) { - asm volatile ( - "prefetchnta %0\n" - :: "m" (ptr)); - } -#endif - -} -#endif - -#if 0 +/** + * oil_cpu_get_ticks_per_second: + * + * Returns the estimated number of ticks per second. This feature + * is currently unimplemented. + * + * This function may take several milliseconds or more to execute + * in order to calculate a good estimate of the number of ticks (as + * measured by the profiling functions) per second. Note that the + * number of ticks per second is often dependent on the CPU frequency, + * which can change dynamically. Thus the value returned by this + * function may be incorrect as soon as it is returned. + * + * Returns: a double + */ double oil_cpu_get_ticks_per_second (void) { diff --git a/liboil/liboildebug.c b/liboil/liboildebug.c index 02cd5f3..a6db72b 100644 --- a/liboil/liboildebug.c +++ b/liboil/liboildebug.c @@ -36,6 +36,11 @@ #include <stdarg.h> #include <stdlib.h> +/** + * SECTION:liboildebug + * @short_description: Printing and formatting debug information + */ + static void oil_debug_print_valist (int level, const char *file, const char *func, int line, const char *format, va_list args); @@ -92,18 +97,39 @@ _oil_debug_print (int level, const char *file, const char *func, va_end (var_args); } +/** + * oil_debug_get_level: + * + * Gets the current debug level. + * + * Returns: the current debug level + */ int oil_debug_get_level (void) { return _oil_debug_level; } +/** + * oil_debug_set_level: + * @level: the new debug level + * + * Sets the current debug level. + */ void oil_debug_set_level (int level) { _oil_debug_level = level; } +/** + * oil_debug_set_print_function: + * @func: + * + * Sets the function to call when outputting debugging information. + * A value of NULL for @func will restore the default handler, + * which prints debugging information to stderr. + */ void oil_debug_set_print_function (OilDebugPrintFunc func) { diff --git a/liboil/liboildebug.h b/liboil/liboildebug.h index 59cc30e..56f68b7 100644 --- a/liboil/liboildebug.h +++ b/liboil/liboildebug.h @@ -30,9 +30,27 @@ #include <stdarg.h> +/** + * OilDebugPrintFunc: + * @level: the debug level + * @file: name of the file where the debug message occurs + * @func: name of the function where the debug message occurs + * @line: line in the file where the debug message occurs + * @format: a printf format + * @varargs: varargs for the printf format + * + * Typedef describing functions that can be registered using + * @oil_debug_set_print_function() so that it is called to + * print debugging messages. + */ typedef void (*OilDebugPrintFunc) (int level, const char *file, const char *func, int line, const char *format, va_list varargs); +/** + * OilDebugLevel: + * + * Enumeration describing debug levels in Liboil. + */ typedef enum { OIL_DEBUG_NONE = 0, OIL_DEBUG_ERROR, @@ -42,10 +60,35 @@ typedef enum { OIL_DEBUG_LOG } OilDebugLevel; +/** + * OIL_ERROR: + * + * Macro to call @OIL_DEBUG_PRINT() with a level of @OIL_DEBUG_ERROR. + */ #define OIL_ERROR(...) OIL_DEBUG_PRINT(OIL_DEBUG_ERROR, __VA_ARGS__) +/** + * OIL_WARNING: + * + * Macro to call @OIL_DEBUG_PRINT() with a level of @OIL_DEBUG_WARNING. + */ #define OIL_WARNING(...) OIL_DEBUG_PRINT(OIL_DEBUG_WARNING, __VA_ARGS__) +/** + * OIL_INFO: + * + * Macro to call @OIL_DEBUG_PRINT() with a level of @OIL_DEBUG_INFO. + */ #define OIL_INFO(...) OIL_DEBUG_PRINT(OIL_DEBUG_INFO, __VA_ARGS__) +/** + * OIL_DEBUG: + * + * Macro to call @OIL_DEBUG_PRINT() with a level of @OIL_DEBUG_DEBUG. + */ #define OIL_DEBUG(...) OIL_DEBUG_PRINT(OIL_DEBUG_DEBUG, __VA_ARGS__) +/** + * OIL_LOG: + * + * Macro to call @OIL_DEBUG_PRINT() with a level of @OIL_DEBUG_LOG. + */ #define OIL_LOG(...) OIL_DEBUG_PRINT(OIL_DEBUG_LOG, __VA_ARGS__) #if defined (__GNUC__) || defined (__PRETTY_FUNCTION__) @@ -56,6 +99,14 @@ typedef enum { #define OIL_FUNCTION "" #endif +/** + * OIL_DEBUG_PRINT: + * @level: + * @...: + * + * Macro to call _oil_debug_print() with the correct values for + * the name of the source file, line of source file, and function. + */ #define OIL_DEBUG_PRINT(level, ...) do { \ _oil_debug_print((level), __FILE__, OIL_FUNCTION, __LINE__, __VA_ARGS__); \ }while(0) diff --git a/liboil/liboilfuncs.h b/liboil/liboilfuncs.h index 250a524..73fe4ca 100644 --- a/liboil/liboilfuncs.h +++ b/liboil/liboilfuncs.h @@ -58,7 +58,7 @@ extern OilFunctionClass *oil_function_class_ptr_argb_paint_u8; typedef void (*_oil_type_argb_paint_u8)(uint8_t * i_4xn, const uint8_t * s1_4, const uint8_t * s2_n, int n); #define oil_argb_paint_u8 ((_oil_type_argb_paint_u8)(*(void **)oil_function_class_ptr_argb_paint_u8)) extern OilFunctionClass *oil_function_class_ptr_average2_u8; -typedef void (*_oil_type_average2_u8)(uint8_t * dest, int dstr, const uint8_t * src1, int sstr1, const uint8_t * src2, int sstr2, int n); +typedef void (*_oil_type_average2_u8)(uint8_t * d, int dstr, const uint8_t * s1, int sstr1, const uint8_t * s2, int sstr2, int n); #define oil_average2_u8 ((_oil_type_average2_u8)(*(void **)oil_function_class_ptr_average2_u8)) extern OilFunctionClass *oil_function_class_ptr_ayuv2argb_u8; typedef void (*_oil_type_ayuv2argb_u8)(uint8_t * d_4xn, const uint8_t * s_4xn, int n); @@ -415,13 +415,13 @@ extern OilFunctionClass *oil_function_class_ptr_dequantize8x8_s16; typedef void (*_oil_type_dequantize8x8_s16)(int16_t * d_8x8, int dstr, const int16_t * s1_8x8, int sstr1, const int16_t * s2_8x8, int sstr2); #define oil_dequantize8x8_s16 ((_oil_type_dequantize8x8_s16)(*(void **)oil_function_class_ptr_dequantize8x8_s16)) extern OilFunctionClass *oil_function_class_ptr_diff8x8_average_s16_u8; -typedef void (*_oil_type_diff8x8_average_s16_u8)(int16_t * d_64, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8x8, int ss2, const uint8_t * s3_8x8, int ss3); +typedef void (*_oil_type_diff8x8_average_s16_u8)(int16_t * d_8x8, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8x8, int ss2, const uint8_t * s3_8x8, int ss3); #define oil_diff8x8_average_s16_u8 ((_oil_type_diff8x8_average_s16_u8)(*(void **)oil_function_class_ptr_diff8x8_average_s16_u8)) extern OilFunctionClass *oil_function_class_ptr_diff8x8_const128_s16_u8; -typedef void (*_oil_type_diff8x8_const128_s16_u8)(int16_t * d_64, const uint8_t * s1_8x8, int ss1); +typedef void (*_oil_type_diff8x8_const128_s16_u8)(int16_t * d_8x8, const uint8_t * s1_8x8, int ss1); #define oil_diff8x8_const128_s16_u8 ((_oil_type_diff8x8_const128_s16_u8)(*(void **)oil_function_class_ptr_diff8x8_const128_s16_u8)) extern OilFunctionClass *oil_function_class_ptr_diff8x8_s16_u8; -typedef void (*_oil_type_diff8x8_s16_u8)(int16_t * d_64, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8x8, int ss2); +typedef void (*_oil_type_diff8x8_s16_u8)(int16_t * d_8x8, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8x8, int ss2); #define oil_diff8x8_s16_u8 ((_oil_type_diff8x8_s16_u8)(*(void **)oil_function_class_ptr_diff8x8_s16_u8)) extern OilFunctionClass *oil_function_class_ptr_diffsquaresum_f64; typedef void (*_oil_type_diffsquaresum_f64)(double * d_1, const double * src1, int sstr1, const double * src2, int sstr2, int n); @@ -592,55 +592,55 @@ extern OilFunctionClass *oil_function_class_ptr_sad8x8_u8_avg; typedef void (*_oil_type_sad8x8_u8_avg)(uint32_t * d_1, const uint8_t * s1_8x8, int ss1, const uint8_t * s2_8x8, const uint8_t * s3_8x8, int ss2); #define oil_sad8x8_u8_avg ((_oil_type_sad8x8_u8_avg)(*(void **)oil_function_class_ptr_sad8x8_u8_avg)) extern OilFunctionClass *oil_function_class_ptr_scalaradd_f32; -typedef void (*_oil_type_scalaradd_f32)(float * dest, int dstr, const float * src, int sstr, const float * s2_1, int n); +typedef void (*_oil_type_scalaradd_f32)(float * d, int dstr, const float * s1, int sstr, const float * s2_1, int n); #define oil_scalaradd_f32 ((_oil_type_scalaradd_f32)(*(void **)oil_function_class_ptr_scalaradd_f32)) extern OilFunctionClass *oil_function_class_ptr_scalaradd_f32_ns; typedef void (*_oil_type_scalaradd_f32_ns)(float * d, const float * s1, const float * s2_1, int n); #define oil_scalaradd_f32_ns ((_oil_type_scalaradd_f32_ns)(*(void **)oil_function_class_ptr_scalaradd_f32_ns)) extern OilFunctionClass *oil_function_class_ptr_scalaradd_f64; -typedef void (*_oil_type_scalaradd_f64)(double * dest, int dstr, const double * src, int sstr, const double * s2_1, int n); +typedef void (*_oil_type_scalaradd_f64)(double * d, int dstr, const double * s1, int sstr, const double * s2_1, int n); #define oil_scalaradd_f64 ((_oil_type_scalaradd_f64)(*(void **)oil_function_class_ptr_scalaradd_f64)) extern OilFunctionClass *oil_function_class_ptr_scalaradd_s16; -typedef void (*_oil_type_scalaradd_s16)(int16_t * dest, int dstr, const int16_t * src, int sstr, const int16_t * s2_1, int n); +typedef void (*_oil_type_scalaradd_s16)(int16_t * d, int dstr, const int16_t * s1, int sstr, const int16_t * s2_1, int n); #define oil_scalaradd_s16 ((_oil_type_scalaradd_s16)(*(void **)oil_function_class_ptr_scalaradd_s16)) extern OilFunctionClass *oil_function_class_ptr_scalaradd_s32; -typedef void (*_oil_type_scalaradd_s32)(int32_t * dest, int dstr, const int32_t * src, int sstr, const int32_t * s2_1, int n); +typedef void (*_oil_type_scalaradd_s32)(int32_t * d, int dstr, const int32_t * s1, int sstr, const int32_t * s2_1, int n); #define oil_scalaradd_s32 ((_oil_type_scalaradd_s32)(*(void **)oil_function_class_ptr_scalaradd_s32)) extern OilFunctionClass *oil_function_class_ptr_scalaradd_s8; -typedef void (*_oil_type_scalaradd_s8)(int8_t * dest, int dstr, const int8_t * src, int sstr, const int8_t * s2_1, int n); +typedef void (*_oil_type_scalaradd_s8)(int8_t * d, int dstr, const int8_t * s1, int sstr, const int8_t * s2_1, int n); #define oil_scalaradd_s8 ((_oil_type_scalaradd_s8)(*(void **)oil_function_class_ptr_scalaradd_s8)) extern OilFunctionClass *oil_function_class_ptr_scalaradd_u16; -typedef void (*_oil_type_scalaradd_u16)(uint16_t * dest, int dstr, const uint16_t * src, int sstr, const uint16_t * s2_1, int n); +typedef void (*_oil_type_scalaradd_u16)(uint16_t * d, int dstr, const uint16_t * s1, int sstr, const uint16_t * s2_1, int n); #define oil_scalaradd_u16 ((_oil_type_scalaradd_u16)(*(void **)oil_function_class_ptr_scalaradd_u16)) extern OilFunctionClass *oil_function_class_ptr_scalaradd_u32; -typedef void (*_oil_type_scalaradd_u32)(uint32_t * dest, int dstr, const uint32_t * src, int sstr, const uint32_t * s2_1, int n); +typedef void (*_oil_type_scalaradd_u32)(uint32_t * d, int dstr, const uint32_t * s1, int sstr, const uint32_t * s2_1, int n); #define oil_scalaradd_u32 ((_oil_type_scalaradd_u32)(*(void **)oil_function_class_ptr_scalaradd_u32)) extern OilFunctionClass *oil_function_class_ptr_scalaradd_u8; -typedef void (*_oil_type_scalaradd_u8)(uint8_t * dest, int dstr, const uint8_t * src, int sstr, const uint8_t * s2_1, int n); +typedef void (*_oil_type_scalaradd_u8)(uint8_t * d, int dstr, const uint8_t * s1, int sstr, const uint8_t * s2_1, int n); #define oil_scalaradd_u8 ((_oil_type_scalaradd_u8)(*(void **)oil_function_class_ptr_scalaradd_u8)) extern OilFunctionClass *oil_function_class_ptr_scalarmult_f32; -typedef void (*_oil_type_scalarmult_f32)(float * dest, int dstr, const float * src, int sstr, const float * s2_1, int n); +typedef void (*_oil_type_scalarmult_f32)(float * d, int dstr, const float * s1, int sstr, const float * s2_1, int n); #define oil_scalarmult_f32 ((_oil_type_scalarmult_f32)(*(void **)oil_function_class_ptr_scalarmult_f32)) extern OilFunctionClass *oil_function_class_ptr_scalarmult_f64; -typedef void (*_oil_type_scalarmult_f64)(double * dest, int dstr, const double * src, int sstr, const double * s2_1, int n); +typedef void (*_oil_type_scalarmult_f64)(double * d, int dstr, const double * s1, int sstr, const double * s2_1, int n); #define oil_scalarmult_f64 ((_oil_type_scalarmult_f64)(*(void **)oil_function_class_ptr_scalarmult_f64)) extern OilFunctionClass *oil_function_class_ptr_scalarmult_s16; -typedef void (*_oil_type_scalarmult_s16)(int16_t * dest, int dstr, const int16_t * src, int sstr, const int16_t * s2_1, int n); +typedef void (*_oil_type_scalarmult_s16)(int16_t * d, int dstr, const int16_t * s1, int sstr, const int16_t * s2_1, int n); #define oil_scalarmult_s16 ((_oil_type_scalarmult_s16)(*(void **)oil_function_class_ptr_scalarmult_s16)) extern OilFunctionClass *oil_function_class_ptr_scalarmult_s32; -typedef void (*_oil_type_scalarmult_s32)(int32_t * dest, int dstr, const int32_t * src, int sstr, const int32_t * s2_1, int n); +typedef void (*_oil_type_scalarmult_s32)(int32_t * d, int dstr, const int32_t * s1, int sstr, const int32_t * s2_1, int n); #define oil_scalarmult_s32 ((_oil_type_scalarmult_s32)(*(void **)oil_function_class_ptr_scalarmult_s32)) extern OilFunctionClass *oil_function_class_ptr_scalarmult_s8; -typedef void (*_oil_type_scalarmult_s8)(int8_t * dest, int dstr, const int8_t * src, int sstr, const int8_t * s2_1, int n); +typedef void (*_oil_type_scalarmult_s8)(int8_t * d, int dstr, const int8_t * s1, int sstr, const int8_t * s2_1, int n); #define oil_scalarmult_s8 ((_oil_type_scalarmult_s8)(*(void **)oil_function_class_ptr_scalarmult_s8)) extern OilFunctionClass *oil_function_class_ptr_scalarmult_u16; -typedef void (*_oil_type_scalarmult_u16)(uint16_t * dest, int dstr, const uint16_t * src, int sstr, const uint16_t * s2_1, int n); +typedef void (*_oil_type_scalarmult_u16)(uint16_t * d, int dstr, const uint16_t * s1, int sstr, const uint16_t * s2_1, int n); #define oil_scalarmult_u16 ((_oil_type_scalarmult_u16)(*(void **)oil_function_class_ptr_scalarmult_u16)) extern OilFunctionClass *oil_function_class_ptr_scalarmult_u32; -typedef void (*_oil_type_scalarmult_u32)(uint32_t * dest, int dstr, const uint32_t * src, int sstr, const uint32_t * s2_1, int n); +typedef void (*_oil_type_scalarmult_u32)(uint32_t * d, int dstr, const uint32_t * s1, int sstr, const uint32_t * s2_1, int n); #define oil_scalarmult_u32 ((_oil_type_scalarmult_u32)(*(void **)oil_function_class_ptr_scalarmult_u32)) extern OilFunctionClass *oil_function_class_ptr_scalarmult_u8; -typedef void (*_oil_type_scalarmult_u8)(uint8_t * dest, int dstr, const uint8_t * src, int sstr, const uint8_t * s2_1, int n); +typedef void (*_oil_type_scalarmult_u8)(uint8_t * d, int dstr, const uint8_t * s1, int sstr, const uint8_t * s2_1, int n); #define oil_scalarmult_u8 ((_oil_type_scalarmult_u8)(*(void **)oil_function_class_ptr_scalarmult_u8)) extern OilFunctionClass *oil_function_class_ptr_scalarmultiply_f32_ns; typedef void (*_oil_type_scalarmultiply_f32_ns)(float * d, const float * s1, const float * s2_1, int n); @@ -718,7 +718,7 @@ extern OilFunctionClass *oil_function_class_ptr_scaleconv_u8_f64; typedef void (*_oil_type_scaleconv_u8_f64)(uint8_t * dest, const double * src, int n, const double * s2_1, const double * s3_1); #define oil_scaleconv_u8_f64 ((_oil_type_scaleconv_u8_f64)(*(void **)oil_function_class_ptr_scaleconv_u8_f64)) extern OilFunctionClass *oil_function_class_ptr_scanlinescale2_u8; -typedef void (*_oil_type_scanlinescale2_u8)(uint8_t * dest, const uint8_t * src, int n); +typedef void (*_oil_type_scanlinescale2_u8)(uint8_t * d, const uint8_t * s, int n); #define oil_scanlinescale2_u8 ((_oil_type_scanlinescale2_u8)(*(void **)oil_function_class_ptr_scanlinescale2_u8)) extern OilFunctionClass *oil_function_class_ptr_sign_f32; typedef void (*_oil_type_sign_f32)(float * d, const float * s, int n); @@ -739,13 +739,13 @@ extern OilFunctionClass *oil_function_class_ptr_splat_u8_ns; typedef void (*_oil_type_splat_u8_ns)(uint8_t * dest, const uint8_t * s1_1, int n); #define oil_splat_u8_ns ((_oil_type_splat_u8_ns)(*(void **)oil_function_class_ptr_splat_u8_ns)) extern OilFunctionClass *oil_function_class_ptr_squaresum_f64; -typedef void (*_oil_type_squaresum_f64)(double * dest, const double * src, int n); +typedef void (*_oil_type_squaresum_f64)(double * d, const double * s, int n); #define oil_squaresum_f64 ((_oil_type_squaresum_f64)(*(void **)oil_function_class_ptr_squaresum_f64)) extern OilFunctionClass *oil_function_class_ptr_subtract_f32; typedef void (*_oil_type_subtract_f32)(float * d, const float * s1, const float * s2, int n); #define oil_subtract_f32 ((_oil_type_subtract_f32)(*(void **)oil_function_class_ptr_subtract_f32)) extern OilFunctionClass *oil_function_class_ptr_sum_f64; -typedef void (*_oil_type_sum_f64)(double * dest, const double * src, int sstr, int n); +typedef void (*_oil_type_sum_f64)(double * d_1, const double * s, int sstr, int n); #define oil_sum_f64 ((_oil_type_sum_f64)(*(void **)oil_function_class_ptr_sum_f64)) extern OilFunctionClass *oil_function_class_ptr_tablelookup_u8; typedef void (*_oil_type_tablelookup_u8)(uint8_t * d, int ds, const uint8_t * s1, int ss1, const uint8_t * s2_256, int ss2, int n); @@ -772,28 +772,46 @@ extern OilFunctionClass *oil_function_class_ptr_uyvy2ayuv; typedef void (*_oil_type_uyvy2ayuv)(uint32_t * d_n, const uint32_t * s_n, int n); #define oil_uyvy2ayuv ((_oil_type_uyvy2ayuv)(*(void **)oil_function_class_ptr_uyvy2ayuv)) extern OilFunctionClass *oil_function_class_ptr_vectoradd_f32; -typedef void (*_oil_type_vectoradd_f32)(float * dest, int dstr, const float * src1, int sstr1, const float * src2, int sstr2, int n, const float * s3_1, const float * s4_1); +typedef void (*_oil_type_vectoradd_f32)(float * d, int dstr, const float * s1, int sstr1, const float * s2, int sstr2, int n, const float * s3_1, const float * s4_1); #define oil_vectoradd_f32 ((_oil_type_vectoradd_f32)(*(void **)oil_function_class_ptr_vectoradd_f32)) extern OilFunctionClass *oil_function_class_ptr_vectoradd_f64; -typedef void (*_oil_type_vectoradd_f64)(double * dest, int dstr, const double * src1, int sstr1, const double * src2, int sstr2, int n, const double * s3_1, const double * s4_1); +typedef void (*_oil_type_vectoradd_f64)(double * d, int dstr, const double * s1, int sstr1, const double * s2, int sstr2, int n, const double * s3_1, const double * s4_1); #define oil_vectoradd_f64 ((_oil_type_vectoradd_f64)(*(void **)oil_function_class_ptr_vectoradd_f64)) extern OilFunctionClass *oil_function_class_ptr_vectoradd_s16; -typedef void (*_oil_type_vectoradd_s16)(int16_t * dest, int dstr, const int16_t * src1, int sstr1, const int16_t * src2, int sstr2, int n, const int16_t * s3_1, const int16_t * s4_1); +typedef void (*_oil_type_vectoradd_s16)(int16_t * d, int dstr, const int16_t * s1, int sstr1, const int16_t * s2, int sstr2, int n, const int16_t * s3_1, const int16_t * s4_1); #define oil_vectoradd_s16 ((_oil_type_vectoradd_s16)(*(void **)oil_function_class_ptr_vectoradd_s16)) extern OilFunctionClass *oil_function_class_ptr_vectoradd_s32; -typedef void (*_oil_type_vectoradd_s32)(int32_t * dest, int dstr, const int32_t * src1, int sstr1, const int32_t * src2, int sstr2, int n, const int32_t * s3_1, const int32_t * s4_1); +typedef void (*_oil_type_vectoradd_s32)(int32_t * d, int dstr, const int32_t * s1, int sstr1, const int32_t * s2, int sstr2, int n, const int32_t * s3_1, const int32_t * s4_1); #define oil_vectoradd_s32 ((_oil_type_vectoradd_s32)(*(void **)oil_function_class_ptr_vectoradd_s32)) extern OilFunctionClass *oil_function_class_ptr_vectoradd_s8; -typedef void (*_oil_type_vectoradd_s8)(int8_t * dest, int dstr, const int8_t * src1, int sstr1, const int8_t * src2, int sstr2, int n, const int8_t * s3_1, const int8_t * s4_1); +typedef void (*_oil_type_vectoradd_s8)(int8_t * d, int dstr, const int8_t * s1, int sstr1, const int8_t * s2, int sstr2, int n, const int8_t * s3_1, const int8_t * s4_1); #define oil_vectoradd_s8 ((_oil_type_vectoradd_s8)(*(void **)oil_function_class_ptr_vectoradd_s8)) +extern OilFunctionClass *oil_function_class_ptr_vectoradd_s_f32; +typedef void (*_oil_type_vectoradd_s_f32)(float * d, int dstr, const float * s1, int sstr1, const float * s2, int sstr2, int n); +#define oil_vectoradd_s_f32 ((_oil_type_vectoradd_s_f32)(*(void **)oil_function_class_ptr_vectoradd_s_f32)) +extern OilFunctionClass *oil_function_class_ptr_vectoradd_s_f64; +typedef void (*_oil_type_vectoradd_s_f64)(double * d, int dstr, const double * s1, int sstr1, const double * s2, int sstr2, int n); +#define oil_vectoradd_s_f64 ((_oil_type_vectoradd_s_f64)(*(void **)oil_function_class_ptr_vectoradd_s_f64)) +extern OilFunctionClass *oil_function_class_ptr_vectoradd_s_s16; +typedef void (*_oil_type_vectoradd_s_s16)(int16_t * d, int dstr, const int16_t * s1, int sstr1, const int16_t * s2, int sstr2, int n); +#define oil_vectoradd_s_s16 ((_oil_type_vectoradd_s_s16)(*(void **)oil_function_class_ptr_vectoradd_s_s16)) +extern OilFunctionClass *oil_function_class_ptr_vectoradd_s_s8; +typedef void (*_oil_type_vectoradd_s_s8)(int8_t * d, int dstr, const int8_t * s1, int sstr1, const int8_t * s2, int sstr2, int n); +#define oil_vectoradd_s_s8 ((_oil_type_vectoradd_s_s8)(*(void **)oil_function_class_ptr_vectoradd_s_s8)) +extern OilFunctionClass *oil_function_class_ptr_vectoradd_s_u16; +typedef void (*_oil_type_vectoradd_s_u16)(uint16_t * d, int dstr, const uint16_t * s1, int sstr1, const uint16_t * s2, int sstr2, int n); +#define oil_vectoradd_s_u16 ((_oil_type_vectoradd_s_u16)(*(void **)oil_function_class_ptr_vectoradd_s_u16)) +extern OilFunctionClass *oil_function_class_ptr_vectoradd_s_u8; +typedef void (*_oil_type_vectoradd_s_u8)(uint8_t * d, int dstr, const uint8_t * s1, int sstr1, const uint8_t * s2, int sstr2, int n); +#define oil_vectoradd_s_u8 ((_oil_type_vectoradd_s_u8)(*(void **)oil_function_class_ptr_vectoradd_s_u8)) extern OilFunctionClass *oil_function_class_ptr_vectoradd_u16; -typedef void (*_oil_type_vectoradd_u16)(uint16_t * dest, int dstr, const uint16_t * src1, int sstr1, const uint16_t * src2, int sstr2, int n, const uint16_t * s3_1, const uint16_t * s4_1); +typedef void (*_oil_type_vectoradd_u16)(uint16_t * d, int dstr, const uint16_t * s1, int sstr1, const uint16_t * s2, int sstr2, int n, const uint16_t * s3_1, const uint16_t * s4_1); #define oil_vectoradd_u16 ((_oil_type_vectoradd_u16)(*(void **)oil_function_class_ptr_vectoradd_u16)) extern OilFunctionClass *oil_function_class_ptr_vectoradd_u32; -typedef void (*_oil_type_vectoradd_u32)(uint32_t * dest, int dstr, const uint32_t * src1, int sstr1, const uint32_t * src2, int sstr2, int n, const uint32_t * s3_1, const uint32_t * s4_1); +typedef void (*_oil_type_vectoradd_u32)(uint32_t * d, int dstr, const uint32_t * s1, int sstr1, const uint32_t * s2, int sstr2, int n, const uint32_t * s3_1, const uint32_t * s4_1); #define oil_vectoradd_u32 ((_oil_type_vectoradd_u32)(*(void **)oil_function_class_ptr_vectoradd_u32)) extern OilFunctionClass *oil_function_class_ptr_vectoradd_u8; -typedef void (*_oil_type_vectoradd_u8)(uint8_t * dest, int dstr, const uint8_t * src1, int sstr1, const uint8_t * src2, int sstr2, int n, const uint8_t * s3_1, const uint8_t * s4_1); +typedef void (*_oil_type_vectoradd_u8)(uint8_t * d, int dstr, const uint8_t * s1, int sstr1, const uint8_t * s2, int sstr2, int n, const uint8_t * s3_1, const uint8_t * s4_1); #define oil_vectoradd_u8 ((_oil_type_vectoradd_u8)(*(void **)oil_function_class_ptr_vectoradd_u8)) extern OilFunctionClass *oil_function_class_ptr_yuv2rgbx_sub2_u8; typedef void (*_oil_type_yuv2rgbx_sub2_u8)(uint8_t * d_4xn, const uint8_t * src1, const uint8_t * src2, const uint8_t * src3, int n); diff --git a/liboil/liboilfunction.c b/liboil/liboilfunction.c index 6b4a0b5..768c66e 100644 --- a/liboil/liboilfunction.c +++ b/liboil/liboilfunction.c @@ -36,6 +36,57 @@ #include <string.h> #include <stdlib.h> +/** + * SECTION:liboilfunction + * @short_description: + * Functions for manipulating function classes and implementations. + */ + +/** + * liboilfunction:long_description: + * + * <para> + * Functions operate on arrays of data. The arrays can be either source + * arrays (input only), destination arrays (output only), or in-place + * arrays (both input and output). + * </para> + * + * <para> + * The interpretation of a parameter can usually be determined from its + * name. Parameters for arrays are of the form d1_1xn, where the first + * character represents the direction (source, destination, or in-place), + * the second represents the index for that particular direction, and + * the characters after the underscore indicate the size of the array. + * In this case, "1xn" represents an array that is 1 by N. Note that + * the index and the size can both be omitted, giving a default of 1 + * for the index and 1xn for the size. + * </para> + * + * <para> + * Parameters that represent strides are of the form "d1s". The + * interpretation is similar to above, except that the s indicates + * a stride parameter. + * </para> + * + * <para> + * The exceptions to the above rule are "dest", "src", "dstr", "sstr", etc. + * These are aliases for "d1", "s1", "d1s", and "s1s", respectively. This + * form is deprecated and will be removed in the 0.4 series. + * </para> + * + * <para> + * Two special parameters are "n" and "m", which determine the size of + * the arrays in other parameters. + * </para> + * + * <para> + * Data arrays are laid out such that rows are separated by the number + * of bytes given by the corresponding stride. Elements in each row + * are contiguous. If there is no stride parameter corresponding to an + * array, the rows of the array are contiguous. + * </para> + */ + extern OilFunctionClass *_oil_function_class_array[]; extern OilFunctionImpl *_oil_function_impl_array[]; @@ -152,6 +203,8 @@ oil_optimize (const char *class_name) /** * oil_class_get_n_classes: * + * Returns the number of function classes. + * * Returns: the number of function classes */ int diff --git a/liboil/liboilfunction.h b/liboil/liboilfunction.h index fcfa922..6d91eb3 100644 --- a/liboil/liboilfunction.h +++ b/liboil/liboilfunction.h @@ -48,7 +48,14 @@ #define OIL_OPT_SUFFIX #endif +/** + * OilFunctionClass: + * + * An opaque structure representing a function class. + * + */ struct _OilFunctionClass { + /*< private >*/ void *func; const char *name; const char *desc; @@ -62,7 +69,14 @@ struct _OilFunctionClass { const char *prototype; }; +/** + * OilFunctionImpl: + * + * An opaque structure representing a function implementation. + * + */ struct _OilFunctionImpl { + /*< private >*/ void *next; OilFunctionClass *klass; void *func; @@ -99,6 +113,10 @@ struct _OilFunctionImpl { #define OIL_DECLARE_CLASS(klass) \ extern OilFunctionClass _oil_function_class_ ## klass +/** + * SECTION:liboilmacros + * @short_description: Macros + */ #ifndef OIL_NO_CLASSES #define OIL_DEFINE_CLASS_FULL(klass, string, test) \ diff --git a/liboil/liboilparameter.h b/liboil/liboilparameter.h index c92a066..32d797d 100644 --- a/liboil/liboilparameter.h +++ b/liboil/liboilparameter.h @@ -30,6 +30,11 @@ #include <liboil/liboiltypes.h> +/** + * OilType: + * + * Enumeration containing the data types understood by Liboil. + */ typedef enum { OIL_TYPE_UNKNOWN = 0, OIL_TYPE_INT, @@ -55,6 +60,12 @@ typedef enum { OIL_TYPE_f64p, } OilType; +/** + * OilArgType: + * + * Enumeration containing the types of parameter types understood + * by Liboil. + */ typedef enum { OIL_ARG_UNKNOWN = 0, OIL_ARG_N, @@ -81,7 +92,14 @@ typedef enum { OIL_ARG_LAST } OilArgType; +/** + * OilParameter: + * + * An opaque structure representing a single parameter in the + * function prototype of an OilFunctionClass. + */ struct _OilParameter { + /*< private >*/ char *type_name; char *parameter_name; diff --git a/liboil/liboilprofile.c b/liboil/liboilprofile.c index c15a5ec..352d6f8 100644 --- a/liboil/liboilprofile.c +++ b/liboil/liboilprofile.c @@ -36,6 +36,20 @@ #include <string.h> #include <math.h> +/** + * SECTION:liboilprofile + * @short_description: + * Measuring the length of time needed to execute Liboil functions. + * + */ + +/** + * oil_profile_stamp_gtod: + * + * Creates a timestamp using the function gettimofday(). + * + * Returns: a timestamp + */ unsigned long oil_profile_stamp_gtod (void) { #ifdef HAVE_GETTIMEOFDAY @@ -47,6 +61,12 @@ unsigned long oil_profile_stamp_gtod (void) #endif } +/** + * oil_profile_init: + * @prof: the OilProfile structure + * + * Initializes a profiling structure. + */ void oil_profile_init (OilProfile *prof) { @@ -56,6 +76,14 @@ oil_profile_init (OilProfile *prof) } +/** + * oil_profile_stop_handle: + * @prof: the OilProfile structure + * + * Handles post-processing of a single profiling run. + * + * FIXME: need more info + */ void oil_profile_stop_handle (OilProfile *prof) { @@ -81,6 +109,17 @@ oil_profile_stop_handle (OilProfile *prof) } } +/** + * oil_profile_get_ave_std: + * @prof: the OilProfile structure + * @ave_p: pointer to average + * @std_p: pointer to standard deviation + * + * Calculates the average and standard deviation of a number of + * profiling runs, and places the results in the locations + * provided by @ave_p and @std_p. Either @ave_p and @std_p may + * be NULL, in which case the values will not be written. + */ void oil_profile_get_ave_std (OilProfile *prof, double *ave_p, double *std_p) { diff --git a/liboil/liboilprofile.h b/liboil/liboilprofile.h index d09d3fc..3226241 100644 --- a/liboil/liboilprofile.h +++ b/liboil/liboilprofile.h @@ -33,7 +33,13 @@ #define OIL_PROFILE_HIST_LENGTH 10 typedef struct _OilProfile OilProfile; +/** + * OilProfile: + * + * An opaque structure representing profiling information. + */ struct _OilProfile { + /*< private >*/ unsigned long start; unsigned long stop; unsigned long min; @@ -46,6 +52,14 @@ struct _OilProfile { int hist_count[OIL_PROFILE_HIST_LENGTH]; }; +/** + * oil_profile_stamp: + * + * Creates a timestamp based on a CPU-specific high-frequency + * counter, if available. + * + * Returns: a timestamp + */ #if defined(__i386__) static inline unsigned long oil_profile_stamp(void) @@ -139,9 +153,24 @@ void oil_profile_init(OilProfile *prof); void oil_profile_stop_handle(OilProfile *prof); void oil_profile_get_ave_std (OilProfile *prof, double *ave_p, double *std_p); +/** + * oil_profile_start: + * @x: a pointer to an OilProfile structure + * + * Starts a profiling run by obtaining a timestamp via @oil_profile_stamp() + * and writing it into @x. + */ #define oil_profile_start(x) do{ \ (x)->start = oil_profile_stamp(); \ }while(0) +/** + * oil_profile_stop: + * @x: a pointer to an OilProfile structure + * + * Stops a profiling run by obtaining a timestamp via @oil_profile_stamp() + * and writing it into @x. It then calls @oil_profile_stop_handle() to + * handle post-processing of the profiling run. + */ #define oil_profile_stop(x) do{ \ (x)->stop = oil_profile_stamp(); \ oil_profile_stop_handle(x); \ diff --git a/liboil/liboilprototype.c b/liboil/liboilprototype.c index b8d6eef..def53ab 100644 --- a/liboil/liboilprototype.c +++ b/liboil/liboilprototype.c @@ -37,6 +37,20 @@ #include <liboil/liboilprototype.h> #include <liboil/liboildebug.h> +/** + * SECTION:liboilprototype + * @short_description: + * Functions to manipulate prototype information. + * + */ + +/** + * SECTION:liboilparameter + * @short_description: + * Functions to manipulate prototype parameter information. + * + */ + #ifndef FALSE #define FALSE 0 #endif @@ -63,6 +77,14 @@ static int oil_param_from_string (OilParameter *p, char *s); static int oil_prototype_check_sanity (OilPrototype *proto); +/** + * oil_prototype_append_param: + * @proto: the OilPrototype + * @param: an OilParameter + * + * Appends @param to the list of parameters contained in @proto. The + * contents of @param are copied. + */ void oil_prototype_append_param (OilPrototype *proto, OilParameter *param) { @@ -72,7 +94,17 @@ oil_prototype_append_param (OilPrototype *proto, OilParameter *param) proto->params[proto->n_params - 1] = *param; } -char *oil_prototype_to_string (OilPrototype *proto) +/** + * oil_prototype_to_string: + * @proto: the OilPrototype + * + * Converts a prototype into the corresponding C style declaration. + * + * Returns: a string that should be freed using free() when it is no + * longer needed. + */ +char * +oil_prototype_to_string (OilPrototype *proto) { OilString *string; OilParameter *param; @@ -107,7 +139,19 @@ char *oil_prototype_to_string (OilPrototype *proto) return oil_string_free (string, FALSE); } -OilPrototype *oil_prototype_from_string (const char *s) +/** + * oil_prototype_from_string: + * @s: a string + * + * Converts the string @s containing C prototype that follows + * Liboil parameter naming rules into a OilPrototype. If the + * string cannot be converted, NULL is returned. + * + * Returns: the OilPrototype. When it is no longer needed, free + * the prototype using @oil_prototype_free. + */ +OilPrototype * +oil_prototype_from_string (const char *s) { OilPrototype *proto; OilParameter param = { 0 }; @@ -208,6 +252,12 @@ static char * parse_string (const char *s, const char **endptr) return _strndup(s0, s - s0); } +/** + * oil_prototype_free: + * @proto: the OilPrototype + * + * Frees memory associated with @proto. + */ void oil_prototype_free (OilPrototype *proto) { @@ -285,6 +335,14 @@ _strndup (const char *s, int n) } +/** + * oil_type_sizeof: + * @type: the OilType + * + * Looks up the size of the OilType represented by @type. + * + * Returns: the size of @type + */ int oil_type_sizeof (OilType type) { switch (type) { @@ -369,6 +427,14 @@ static const char *oil_type_names_3 [] = { }; #define ARRAY_LENGTH(x) (sizeof(x)/sizeof(x[0])) +/** + * oil_type_name: + * @type: an OilType + * + * Looks up the name of the OilType given by @type. + * + * Returns: a string containing the name of the OilType @type. + */ const char * oil_type_name (OilType type) { @@ -411,6 +477,14 @@ static OilType oil_type_from_string (const char *s, int ptr) return OIL_TYPE_UNKNOWN; } +/** + * oil_arg_type_name: + * @type: an OilArgType + * + * Looks up the name of the OilArgType specified by @type. + * + * Returns: a string containing the name + */ const char * oil_arg_type_name (OilArgType type) { switch (type) { diff --git a/liboil/liboilprototype.h b/liboil/liboilprototype.h index 1f470d3..d014637 100644 --- a/liboil/liboilprototype.h +++ b/liboil/liboilprototype.h @@ -32,6 +32,12 @@ #include <liboil/liboilparameter.h> typedef struct _OilPrototype OilPrototype; +/** + * OilPrototype: + * + * An opaque structure describing the C function prototype of + * an @OilFunctionClass. + */ struct _OilPrototype { int n_params; OilParameter *params; diff --git a/liboil/liboilrandom.h b/liboil/liboilrandom.h index a681c75..832005a 100644 --- a/liboil/liboilrandom.h +++ b/liboil/liboilrandom.h @@ -30,49 +30,218 @@ #include <stdlib.h> -/* random number generation */ +/** + * SECTION:liboilrandom + * @short_description: Random number generation + */ +/** + * oil_rand_s32: + * + * Evaluates to a random integer in the range [-(1<<31), (1<<31)-1]. + */ #define oil_rand_s32() ((rand()&0xffff)<<16 | (rand()&0xffff)) +/** + * oil_rand_s32_l31: + * + * Evaluates to a random integer in the range [-(1<<30), (1<<30)-1]. + */ #define oil_rand_s32_l31() (((int32_t)rand())-0x40000000) +/** + * oil_rand_s64: + * + * Evaluates to a random integer in the range [-(1<<63), (1<<63)-1]. + */ #define oil_rand_s64() ((int64_t)(oil_rand_s32())<<32 | oil_rand_s32()) +/** + * oil_rand_s16: + * + * Evaluates to a random integer in the range [-(1<<15), (1<<15)-1]. + */ #define oil_rand_s16() ((int16_t)(rand()&0xffff)) +/** + * oil_rand_s16_l15: + * + * Evaluates to a random integer in the range [-(1<<14), (1<<14)-1]. + */ #define oil_rand_s16_l15() (oil_rand_s16()>>1) +/** + * oil_rand_s16_l9: + * + * Evaluates to a random integer in the range [-(1<<8), (1<<8)-1]. + */ #define oil_rand_s16_l9() (oil_rand_s16()>>7) +/** + * oil_rand_s16_l8: + * + * Evaluates to a random integer in the range [-(1<<7), (1<<7)-1]. + */ #define oil_rand_s16_l8() (oil_rand_s16()>>8) +/** + * oil_rand_s16_l4: + * + * Evaluates to a random integer in the range [-(1<<3), (1<<3)-1]. + */ #define oil_rand_s16_l4() (oil_rand_s16()>>12) +/** + * oil_rand_s8: + * + * Evaluates to a random integer in the range [-(1<<7), (1<<7)-1]. + */ #define oil_rand_s8() ((int8_t)(rand()&0xffff)) +/** + * oil_rand_u32: + * + * Evaluates to a random integer in the range [0, (1<<32)-1]. + */ #define oil_rand_u32() ((uint32_t)((rand()&0xffff)<<16 | (rand()&0xffff))) +/** + * oil_rand_u32_l31: + * + * Evaluates to a random integer in the range [0, (1<<31)-1]. + */ #define oil_rand_u32_l31() ((uint32_t)rand()) +/** + * oil_rand_u64: + * + * Evaluates to a random integer in the range [0, (1<<64)-1]. + */ #define oil_rand_u64() ((uint64_t)(oil_rand_u32())<<32 | oil_rand_u32()) +/** + * oil_rand_u16: + * + * Evaluates to a random integer in the range [0, (1<<16)-1]. + */ #define oil_rand_u16() ((uint16_t)(rand()&0xffff)) +/** + * oil_rand_u8: + * + * Evaluates to a random integer in the range [0, (1<<8)-1]. + */ #define oil_rand_u8() ((uint8_t)(rand()&0xffff)) +/** + * oil_rand_f64_0_1: + * + * Evaluates to a random double-precision floating point number + * in the range [0, 1.0). + */ #define oil_rand_f64_0_1() (((rand()/(RAND_MAX+1.0))+rand())/(RAND_MAX+1.0)) +/** + * oil_rand_f64_s32: + * + * Evaluates to a random double-precision floating point number + * in the range [-(1<<31), (1<<31)). Note that when rounded to the + * nearest integer, this exceeds the range of int32_t. + */ #define oil_rand_f64_s32() (oil_rand_f64_0_1()*4294967296.0-2147483648.0) +/** + * oil_rand_f64_s16: + * + * Evaluates to a random double-precision floating point number + * in the range [-(1<<15), (1<<15)). Note that when rounded to the + * nearest integer, this exceeds the range of int16_t. + */ #define oil_rand_f64_s16() (oil_rand_f64_0_1()*65536.0-32768.0) +/** + * oil_rand_f64_s8: + * + * Evaluates to a random double-precision floating point number + * in the range [-(1<<7), (1<<7)). Note that when rounded to the + * nearest integer, this exceeds the range of int8_t. + */ #define oil_rand_f64_s8() (oil_rand_f64_0_1()*256.0-128.0) +/** + * oil_rand_f64_u32: + * + * Evaluates to a random double-precision floating point number + * in the range [0, (1<<32)). Note that when rounded to the + * nearest integer, this exceeds the range of uint32_t. + */ #define oil_rand_f64_u32() (oil_rand_f64_0_1()*4294967296.0) +/** + * oil_rand_f64_u16: + * + * Evaluates to a random double-precision floating point number + * in the range [0, (1<<16)). Note that when rounded to the + * nearest integer, this exceeds the range of uint16_t. + */ #define oil_rand_f64_u16() (oil_rand_f64_0_1()*65536.0) +/** + * oil_rand_f64_u8: + * + * Evaluates to a random double-precision floating point number + * in the range [0, (1<<8)). Note that when rounded to the + * nearest integer, this exceeds the range of uint8_t. + */ #define oil_rand_f64_u8() (oil_rand_f64_0_1()*256.0) +/** + * oil_rand_f32_0_1: + * + * Evaluates to a random single-precision floating point number + * in the range [0, 1.0). + */ #define oil_rand_f32_0_1() (rand()/(RAND_MAX+1.0)) +/** + * oil_rand_f32_s32: + * + * Evaluates to a random double-precision floating point number + * in the range [-(1<<31), (1<<31)). Note that when rounded to the + * nearest integer, this exceeds the range of int32_t. + */ #define oil_rand_f32_s32() (oil_rand_f64_0_1()*4294967296.0-2147483648.0) +/** + * oil_rand_f32_s16: + * + * Evaluates to a random double-precision floating point number + * in the range [-(1<<15), (1<<15)). Note that when rounded to the + * nearest integer, this exceeds the range of int16_t. + */ #define oil_rand_f32_s16() (oil_rand_f64_0_1()*65536.0-32768.0) +/** + * oil_rand_f32_s8: + * + * Evaluates to a random double-precision floating point number + * in the range [-(1<<7), (1<<7)). Note that when rounded to the + * nearest integer, this exceeds the range of int8_t. + */ #define oil_rand_f32_s8() (oil_rand_f64_0_1()*256.0-128.0) +/** + * oil_rand_f32_u32: + * + * Evaluates to a random double-precision floating point number + * in the range [0, (1<<32)). Note that when rounded to the + * nearest integer, this exceeds the range of uint32_t. + */ #define oil_rand_f32_u32() (oil_rand_f64_0_1()*4294967296.0) +/** + * oil_rand_f32_u16: + * + * Evaluates to a random double-precision floating point number + * in the range [0, (1<<16)). Note that when rounded to the + * nearest integer, this exceeds the range of uint16_t. + */ #define oil_rand_f32_u16() (oil_rand_f64_0_1()*65536.0) +/** + * oil_rand_f32_u8: + * + * Evaluates to a random double-precision floating point number + * in the range [0, (1<<8)). Note that when rounded to the + * nearest integer, this exceeds the range of uint8_t. + */ #define oil_rand_f32_u8() (oil_rand_f64_0_1()*256.0) #endif diff --git a/liboil/liboiltest.c b/liboil/liboiltest.c index f2bd566..773d527 100644 --- a/liboil/liboiltest.c +++ b/liboil/liboiltest.c @@ -39,6 +39,11 @@ #include <stdio.h> #include <math.h> +/** + * SECTION:liboiltest + * @short_description: Test and profile function implementations. + * + */ static void oil_test_init_params (OilTest *test); static void fill_array (void *ptr, OilType type, int pre_n, int stride, int post_n); @@ -47,6 +52,14 @@ static double check_array (void *data, void *ref, OilType type, int pre_n, static int check_holes (void *data, OilType type, int pre_n, int stride, int post_n, int guard); +/** + * oil_test_new: + * @klass: an OilFunctionClass + * + * Creates a new OilTest for the OilFunctionClass represented by @klass. + * + * Returns: the new OilTest + */ OilTest * oil_test_new (OilFunctionClass *klass) { @@ -86,6 +99,12 @@ oil_test_new (OilFunctionClass *klass) return test; } +/** + * oil_test_free: + * @test: the OilTest + * + * Frees memory associated with @test. + */ void oil_test_free (OilTest *test) { @@ -110,18 +129,40 @@ oil_test_free (OilTest *test) free(test); } +/** + * oil_test_set_impl: + * @test: the OilTest + * @impl: an OilFunctionImpl to set + * + * Sets the current implementation of @test to @impl. + */ void oil_test_set_impl (OilTest *test, OilFunctionImpl *impl) { test->impl = impl; } +/** + * oil_test_set_iterations: + * @test: the OilTest + * @iterations: the number of iterations + * + * Sets the number of iterations of @test to @iterations. + */ void oil_test_set_iterations (OilTest *test, int iterations) { test->iterations = iterations; } +/** + * oil_test_init: + * @test: the OilTest + * + * Intializes @test. + * + * FIXME: needs work + */ void oil_test_init (OilTest *test) { @@ -199,6 +240,13 @@ oil_test_check_function (void * priv) &test->impl->profile_std); } +/** + * oil_test_check_ref: + * @test: the OilTest + * + * Runs the test specified by @test on the reference function of the + * class being tested. + */ void oil_test_check_ref (OilTest *test) { @@ -242,6 +290,16 @@ check_guard (uint8_t *data, int n, int guard) return 1; } +/** + * oil_test_check_impl: + * @test: the OilTest + * @impl: an OilFunctionImpl + * + * Runs the testing procedure described by @test on the implementation + * @impl. + * + * Returns: 1 if @impl passes the test, 0 if it fails + */ int oil_test_check_impl (OilTest *test, OilFunctionImpl *impl) { @@ -313,7 +371,14 @@ oil_test_check_impl (OilTest *test, OilFunctionImpl *impl) return 1; } - +/** + * oil_test_cleanup + * @test: the OilTest + * + * Cleans up @test. + * + * FIXME: needs work + */ void oil_test_cleanup (OilTest *test) { diff --git a/liboil/liboiltest.h b/liboil/liboiltest.h index 5acccd5..1d778e5 100644 --- a/liboil/liboiltest.h +++ b/liboil/liboiltest.h @@ -32,7 +32,14 @@ #include <liboil/liboilprototype.h> #include <liboil/liboilprofile.h> +/** + * OilTest: + * + * An opaque structure describing how to test an OilFunctionImpl + * for an OilFunctionClass. + */ struct _OilTest { + /*< private >*/ OilFunctionClass *klass; OilFunctionImpl *impl; OilPrototype *proto; @@ -50,6 +57,15 @@ struct _OilTest { int n_points; }; +/** + * OilTestFunction: + * @test: the @OilTest structure + * + * Typedef for functions that initialize special values + * in source arrays for a particular function class. + */ +//typedef void (*OilTestFunction) (OilTest *test); + #define OIL_TEST_HEADER 256 #define OIL_TEST_FOOTER 256 diff --git a/liboil/liboiltypes.h b/liboil/liboiltypes.h index 8f45db0..ed1d3b4 100644 --- a/liboil/liboiltypes.h +++ b/liboil/liboiltypes.h @@ -34,6 +34,11 @@ #define NULL ((void *)0) #endif +/** + * SECTION:liboiltypes + * @short_description: Internal Liboil types + */ + typedef struct _OilFunctionClass OilFunctionClass; typedef struct _OilFunctionImpl OilFunctionImpl; typedef struct _OilParameter OilParameter; diff --git a/liboil/md5/md5.c b/liboil/md5/md5.c index 1462aac..811048a 100644 --- a/liboil/md5/md5.c +++ b/liboil/md5/md5.c @@ -33,6 +33,22 @@ #include "md5.h" +/** + * oil_md5: + * @i_4: + * @s_16: + * + * Performs an MD5 checksum iteration. The iteration operates on + * the 64 bytes contained in @s_16, and changes the hash contained + * in @i_4. This only implements a portion of the MD5 algorithm. + * The full MD5 algorithm requires initializing the hash + * with a specific value and additional handling of bytes at the + * end of the stream. + * + * See also the md5 example in the Liboil source code. + * + * FIXME: need a reference here + */ OIL_DEFINE_CLASS (md5, "uint32_t *i_4, uint32_t *s_16"); #ifdef WORDS_BIGENDIAN diff --git a/liboil/null.c b/liboil/null.c index a85348f..d32c0ed 100644 --- a/liboil/null.c +++ b/liboil/null.c @@ -31,6 +31,15 @@ #include <liboil/liboilfunction.h> +/** + * oil_null: + * + * Does nothing, and does it fast. + * + * This function is useful for testing the overhead of calling + * a Liboil function. + * + */ OIL_DEFINE_CLASS (null, ""); static void diff --git a/liboil/ref/average2_u8.c b/liboil/ref/average2_u8.c index a636521..d62b488 100644 --- a/liboil/ref/average2_u8.c +++ b/liboil/ref/average2_u8.c @@ -34,9 +34,24 @@ #include <math.h> +/** + * oil_average2_u8: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * + * Averages each element in @s1 and @s2 and places the result in @d. + * + * FIXME: This class is difficult to optimize and will likely be + * replaced. + */ OIL_DEFINE_CLASS (average2_u8, - "uint8_t * dest, int dstr, uint8_t *src1, int sstr1, " - "uint8_t *src2, int sstr2, int n"); + "uint8_t *d, int dstr, uint8_t *s1, int sstr1, " + "uint8_t *s2, int sstr2, int n"); static void average2_u8_ref (uint8_t * dest, int dstr, uint8_t *src1, int sstr1, diff --git a/liboil/ref/clip_ref.c b/liboil/ref/clip_ref.c index 35e8f72..4d68640 100644 --- a/liboil/ref/clip_ref.c +++ b/liboil/ref/clip_ref.c @@ -81,30 +81,115 @@ CLIP_DEFINE_REF (f32); CLIP_DEFINE_REF (f64); +/** + * oil_clip_s8: + * @dest: + * @dstr: + * @src: + * @sstr: + * @n: + * @s2_1: + * @s3_1: + * + * Clips each value in @src to the range [@s2_1,@s3_1] and places + * the result in @dest. + */ -#if 0 -#ifdef HAVE_CPU_POWERPC -static void -clip_f64_ppcasm(f64 *dest, f64 *src, f64 low, f64 hi, int n) -{ - f64 ftmp; +/** + * oil_clip_u8: + * @dest: + * @dstr: + * @src: + * @sstr: + * @n: + * @s2_1: + * @s3_1: + * + * Clips each value in @src to the range [@s2_1,@s3_1] and places + * the result in @dest. + */ - dest--; - src--; - __asm__ __volatile__("\n" - "1: lfdu 0,8(%1)\n" - " addic. %2,%2,-1\n" - " fsub 1,0,%3\n" - " fsel 0,1,0,%3\n" - " fsub 1,0,%4\n" - " fsel 0,1,%4,0\n" - " stfdu 0,8(%0)\n" - " bge 1b\n" - : "+b" (dest), "+b" (src), "+r" (n) - : "f" (low), "f" (hi), "b" (&ftmp) - : "32", "33", "11" ); -} -#endif -#endif +/** + * oil_clip_s16: + * @dest: + * @dstr: + * @src: + * @sstr: + * @n: + * @s2_1: + * @s3_1: + * + * Clips each value in @src to the range [@s2_1,@s3_1] and places + * the result in @dest. + */ + +/** + * oil_clip_u16: + * @dest: + * @dstr: + * @src: + * @sstr: + * @n: + * @s2_1: + * @s3_1: + * + * Clips each value in @src to the range [@s2_1,@s3_1] and places + * the result in @dest. + */ +/** + * oil_clip_s32: + * @dest: + * @dstr: + * @src: + * @sstr: + * @n: + * @s2_1: + * @s3_1: + * + * Clips each value in @src to the range [@s2_1,@s3_1] and places + * the result in @dest. + */ + +/** + * oil_clip_u32: + * @dest: + * @dstr: + * @src: + * @sstr: + * @n: + * @s2_1: + * @s3_1: + * + * Clips each value in @src to the range [@s2_1,@s3_1] and places + * the result in @dest. + */ + +/** + * oil_clip_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * @n: + * @s2_1: + * @s3_1: + * + * Clips each value in @src to the range [@s2_1,@s3_1] and places + * the result in @dest. + */ + +/** + * oil_clip_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * @n: + * @s2_1: + * @s3_1: + * + * Clips each value in @src to the range [@s2_1,@s3_1] and places + * the result in @dest. + */ diff --git a/liboil/ref/composite.c b/liboil/ref/composite.c index 26c133b..ceac54e 100644 --- a/liboil/ref/composite.c +++ b/liboil/ref/composite.c @@ -99,7 +99,7 @@ composite_test (OilTest *test) * @d_n: DEST * @s1_n: SRC * @s2_n: MASK - * @n: + * @n: number of elements * * Performs the compositing operation DEST = SRC IN MASK. */ @@ -111,7 +111,7 @@ OIL_DEFINE_CLASS_FULL (composite_in_argb, * @d_n: DEST * @s1_1: SRC * @s2_n: MASK - * @n: + * @n: number of elements * * Performs the compositing operation DEST = SRC IN MASK, for a constant * SRC. @@ -124,7 +124,7 @@ OIL_DEFINE_CLASS_FULL (composite_in_argb_const_src, * @d_n: DEST * @s1_n: SRC * @s2_1: MASK - * @n: + * @n: number of elements * * Performs the compositing operation DEST = SRC IN MASK, for a constant * MASK. @@ -136,7 +136,7 @@ OIL_DEFINE_CLASS_FULL (composite_in_argb_const_mask, * oil_composite_over_argb: * @i_n: DEST * @s1_n: SRC - * @n: + * @n: number of elements * * Performs the compositing operation DEST = SRC OVER DEST. */ @@ -147,7 +147,7 @@ OIL_DEFINE_CLASS_FULL (composite_over_argb, * oil_composite_over_argb_const_src: * @i_n: DEST * @s1_1: SRC - * @n: + * @n: number of elements * * Performs the compositing operation DEST = SRC OVER DEST, for a * constant SRC. @@ -159,7 +159,7 @@ OIL_DEFINE_CLASS_FULL (composite_over_argb_const_src, * oil_composite_add_argb: * @i_n: DEST * @s1_n: SRC - * @n: + * @n: number of elements * * Performs the compositing operation DEST = SRC ADD DEST. */ @@ -170,7 +170,7 @@ OIL_DEFINE_CLASS_FULL (composite_add_argb, * oil_composite_add_argb_const_src: * @i_n: DEST * @s1_1: SRC - * @n: + * @n: number of elements * * Performs the compositing operation DEST = SRC ADD DEST, for a * constant SRC. @@ -183,7 +183,7 @@ OIL_DEFINE_CLASS_FULL (composite_add_argb_const_src, * @i_n: DEST * @s1_n: SRC * @s2_n: MASK - * @n: + * @n: number of elements * * Performs the compositing operation DEST = (SRC IN MASK) OVER DEST. */ @@ -195,7 +195,7 @@ OIL_DEFINE_CLASS_FULL (composite_in_over_argb, * @i_n: DEST * @s1_1: SRC * @s2_n: MASK - * @n: + * @n: number of elements * * Performs the compositing operation DEST = (SRC IN MASK) OVER DEST, * for a constant SRC. @@ -208,7 +208,7 @@ OIL_DEFINE_CLASS_FULL (composite_in_over_argb_const_src, * @i_n: DEST * @s1_n: SRC * @s2_1: MASK - * @n: + * @n: number of elements * * Performs the compositing operation DEST = (SRC IN MASK) OVER DEST, * for a constant MASK. @@ -217,10 +217,10 @@ OIL_DEFINE_CLASS_FULL (composite_in_over_argb_const_mask, "uint32_t *i_n, uint32_t *s1_n, uint8_t *s2_1, int n", composite_test); /** - * oil_composite_over_argb_u8: + * oil_composite_over_u8: * @i_n: DEST * @s1_n: SRC - * @n: + * @n: number of elements * * Performs the compositing operation DEST = SRC OVER DEST. */ @@ -228,10 +228,10 @@ OIL_DEFINE_CLASS_FULL (composite_over_u8, "uint8_t *i_n, uint8_t *s1_n, int n", composite_test); /** - * oil_composite_add_argb_u8: + * oil_composite_add_u8: * @i_n: DEST * @s1_n: SRC - * @n: + * @n: number of elements * * Performs the compositing operation DEST = SRC ADD DEST. */ diff --git a/liboil/ref/conv.c b/liboil/ref/conv.c index 9de8fde..099bee3 100644 --- a/liboil/ref/conv.c +++ b/liboil/ref/conv.c @@ -35,6 +35,30 @@ #include <stdlib.h> +/** + * SECTION:liboilfuncs-conv + * @short_description: Type conversion + * + * The functions in this section perform type conversion. + * + * The <i>conv</i> functions convert value from the source type to + * the destination type. Conversion of values outside the destination + * range is undefined and may vary between implementations. + * + * The <i>clipconv</i> functions convert values from the source + * type to the destination type. Conversion of values outside the + * destination range are saturated to the destination range. + * + * The <i>scaleconv</i> functions multiply the source values by a + * constant factor before converting to the destination type. Conversion + * of values outside the destination range is undefined and may vary + * between implementations. + * + * Conversion of values from floating point types to integer types + * is done using a round-to-nearest policy. Rounding of half-integers + * is undefined and may vary between implementations. + */ + #define CONV_DEFINE_REF_CAST(desttype,srctype) \ static void conv_ ## desttype ## _ ## srctype ## _ref ( \ @@ -347,3 +371,1567 @@ SCALECONV_DEFINE_REF_CAST(f64,u16); SCALECONV_DEFINE_REF_CAST(f64,s32); SCALECONV_DEFINE_REF_CAST(f64,u32); +/** + * oil_conv_f32_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_f32_s16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_f32_s32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_f32_s8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_f32_u16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_f32_u32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_f32_u8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_f64_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_f64_s16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_f64_s32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_f64_s8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_f64_u16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_f64_u32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_f64_u8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s16_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s16_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s16_s32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s16_s8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s16_u16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s16_u32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s16_u8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s32_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s32_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s32_s16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s32_s8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s32_u16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s32_u32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s32_u8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s8_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s8_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s8_s16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s8_s32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s8_u16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s8_u32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_s8_u8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u16_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u16_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u16_s16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u16_s32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u16_s8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u16_u32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u16_u8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u32_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u32_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u32_s16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u32_s32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u32_s8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u32_u16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u32_u8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u8_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u8_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u8_s16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u8_s32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u8_s8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u8_u16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_conv_u8_u32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are undefined + * and implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s16_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s16_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s16_s32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s16_u16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s16_u32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s32_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s32_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s32_u32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s8_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s8_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s8_s16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s8_s32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s8_u16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s8_u32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_s8_u8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u16_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u16_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u16_s16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u16_s32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u16_u32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u32_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u32_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u32_s32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u8_f32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u8_f64: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u8_s16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u8_s32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u8_s8: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u8_u16: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_clipconv_u8_u32: + * @dest: + * @dstr: + * @src: + * @sstr: + * + * Converts elements in from the source type + * to the destination type and places the result in . + * Values outside the destination range are clipped to + * the destination range. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_f32_s16: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_f32_s32: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_f32_s8: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_f32_u16: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_f32_u32: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_f32_u8: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_f64_s16: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_f64_s32: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_f64_s8: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_f64_u16: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_f64_u32: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_f64_u8: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_s16_f32: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_s16_f64: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_s32_f32: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_s32_f64: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_s8_f32: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_s8_f64: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_u16_f32: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_u16_f64: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_u32_f32: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_u32_f64: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_u8_f32: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + +/** + * oil_scaleconv_u8_f64: + * @dest: + * @src: + # @s2_1: + # @s3_1: + * + * Multiplies elements in by and adds and then + * converts the result + * to the destination type and places the result in . + * Values outside the destination range are undefined and + * implementation dependent. + * See the comments at the beginning of this section. + */ + diff --git a/liboil/ref/copy.c b/liboil/ref/copy.c index 2612e7b..9218bc1 100644 --- a/liboil/ref/copy.c +++ b/liboil/ref/copy.c @@ -33,6 +33,14 @@ #include <liboil/liboilfunction.h> +/** + * oil_copy_u8: + * @dest: destination array + * @src: source array + * @n: number of elements + * + * Copies from source to destination. + */ OIL_DEFINE_CLASS (copy_u8, "uint8_t *dest, uint8_t *src, int n"); static void diff --git a/liboil/ref/copy8x8.c b/liboil/ref/copy8x8.c index 7b595e9..3cd013e 100644 --- a/liboil/ref/copy8x8.c +++ b/liboil/ref/copy8x8.c @@ -31,6 +31,15 @@ #include <liboil/liboilfunction.h> +/** + * oil_copy8x8_u8: + * @d_8x8: + * @ds: + * @s_8x8: + * @ss: + * + * Copies an 8x8 block. + */ OIL_DEFINE_CLASS (copy8x8_u8, "uint8_t *d_8x8, int ds, uint8_t *s_8x8, int ss"); static void diff --git a/liboil/ref/diff8x8.c b/liboil/ref/diff8x8.c index ee518dc..1984779 100644 --- a/liboil/ref/diff8x8.c +++ b/liboil/ref/diff8x8.c @@ -31,12 +31,49 @@ #include <liboil/liboilfunction.h> +/** + * oil_diff8x8_s16_u8: + * @d_8x8: + * @s1_8x8: + * @ss1: + * @s2_8x8: + * @ss2: + * + * Calculates the difference of each value in @s1_8x8 and @s2_8x8 + * and places the result in @d_8x8. Note that the destination type + * is larger than the source type. + */ OIL_DEFINE_CLASS (diff8x8_s16_u8, - "int16_t *d_64, uint8_t *s1_8x8, int ss1, uint8_t *s2_8x8, int ss2"); + "int16_t *d_8x8, uint8_t *s1_8x8, int ss1, uint8_t *s2_8x8, int ss2"); +/** + * oil_diff8x8_const128_s16_u8: + * @d_8x8: + * @s1_8x8: + * @ss1: + * + * Subtracts 128 from each value in @s1_8x8 + * and places the result in @d_8x8. Note that the destination type + * is larger than the source type. + */ OIL_DEFINE_CLASS (diff8x8_const128_s16_u8, - "int16_t *d_64, uint8_t *s1_8x8, int ss1"); + "int16_t *d_8x8, uint8_t *s1_8x8, int ss1"); +/** + * oil_diff8x8_average_s16_u8: + * @d_8x8: + * @s1_8x8: + * @ss1: + * @s2_8x8: + * @ss2: + * @s3_8x8: + * @ss3: + * + * Calculates the difference of each value in @s1_8x8 and the + * average of @s2_8x8 and @s3_8x8, + * and places the result in @d_8x8. Note that the destination type + * is larger than the source type. + */ OIL_DEFINE_CLASS (diff8x8_average_s16_u8, - "int16_t *d_64, uint8_t *s1_8x8, int ss1, uint8_t *s2_8x8, int ss2, uint8_t *s3_8x8, int ss3"); + "int16_t *d_8x8, uint8_t *s1_8x8, int ss1, uint8_t *s2_8x8, int ss2, uint8_t *s3_8x8, int ss3"); static void diff8x8_s16_u8_ref (int16_t *dest, uint8_t *src1, int ss1, uint8_t *src2, int ss2) diff --git a/liboil/ref/diffsquaresum_f64.c b/liboil/ref/diffsquaresum_f64.c index 427f413..1ec3e66 100644 --- a/liboil/ref/diffsquaresum_f64.c +++ b/liboil/ref/diffsquaresum_f64.c @@ -33,6 +33,18 @@ #include <liboil/simdpack/simdpack.h> #include <math.h> +/** + * oil_diffsquaresum_f64: + * @d_1: + * @src1: + * @sstr1: + * @src2: + * @sstr2: + * @n: + * + * Calculates the sum of squared differences between @src1 and @src2 + * and places the result in @d_1. + */ OIL_DEFINE_CLASS (diffsquaresum_f64, "double *d_1, double *src1, int sstr1, double *src2, int sstr2, int n"); diff --git a/liboil/ref/error8x8.c b/liboil/ref/error8x8.c index 825d335..49c9864 100644 --- a/liboil/ref/error8x8.c +++ b/liboil/ref/error8x8.c @@ -32,10 +32,55 @@ #include <liboil/liboilfunction.h> +/** + * oil_err_intra8x8_u8: + * @d_1: + * @s1_8x8: + * @ss1: + * + * Calculates the sum of squared differences from the mean over + * @s1_8x8 and places the result in @d_1. This result is 64 times + * the variance of the mean of @s1_8x8. + */ OIL_DEFINE_CLASS (err_intra8x8_u8, "uint32_t *d_1, uint8_t *s1_8x8, int ss1"); +/** + * oil_err_inter8x8_u8: + * @d_1: + * @s1_8x8: + * @ss1: + * @s2_8x8: + * @ss2: + * + * Calculates an intermediate 8x8 block where each element is the + * difference between @s1_8x8 and @s2_8x8. + * The sum of squares of the difference of each element in the + * intermediate block and the mean of the intermediate block is + * placed into @d_1. This result is + * equal to 64 times the variance of the mean of the intermediate block. + */ OIL_DEFINE_CLASS (err_inter8x8_u8, "uint32_t *d_1, uint8_t *s1_8x8, int ss1, uint8_t *s2_8x8, int ss2"); +/** + * oil_err_inter8x8_u8_avg: + * @d_1: + * @s1_8x8: + * @ss1: + * @s2_8x8: + * @s3_8x8: + * @ss2: + * + * Calculates an intermediate 8x8 block where each element is the + * difference between @s1_8x8 and the average of @s2_8x8 and @s3_8x8. + * The sum of squares of the difference of each element in the + * intermediate block and the mean of the intermediate block is + * placed into @d_1. + * This result is 64 times the variance of the mean of the intermediate + * block. + * + * FIXME: This function is broken, since the reference function uses + * @ss2 as the stride for both @s2_8x8 and @s3_8x8. + */ OIL_DEFINE_CLASS (err_inter8x8_u8_avg, "uint32_t *d_1, uint8_t *s1_8x8, int ss1, uint8_t *s2_8x8, uint8_t *s3_8x8, int ss2"); diff --git a/liboil/ref/math.c b/liboil/ref/math.c index e2c4744..9c71d3a 100644 --- a/liboil/ref/math.c +++ b/liboil/ref/math.c @@ -35,20 +35,140 @@ #include <liboil/liboilfunction.h> #include <liboil/liboiltest.h> +/** + * SECTION:liboilfuncs-math + * @short_description: Aritmetic operations + * + */ + +/** + * SECTION:liboilfuncs-math8x8 + * @short_description: Aritmetic operations on 8x8 blocks + * + */ +/** + * oil_add_f32: + * @d: destination + * @s1: source 1 + * @s2: source 2 + * @n: number of elements + * + * Adds elements in @s2 and @s1 and places the result in @d. + */ OIL_DEFINE_CLASS (add_f32, "float *d, float *s1, float *s2, int n"); +/** + * oil_subtract_f32: + * @d: destination + * @s1: source 1 + * @s2: source 2 + * @n: number of elements + * + * Subtracts elements in @s2 from @s1 and places the result in @d. + */ OIL_DEFINE_CLASS (subtract_f32, "float *d, float *s1, float *s2, int n"); +/** + * oil_multiply_f32: + * @d: destination + * @s1: source 1 + * @s2: source 2 + * @n: number of elements + * + * Multiplies elements in @s1 and @s2 and places the result in @d. + */ OIL_DEFINE_CLASS (multiply_f32, "float *d, float *s1, float *s2, int n"); +/** + * oil_divide_f32: + * @d: destination + * @s1: source 1 + * @s2: source 2 + * @n: number of elements + * + * Divides elements in @s1 by @s2 and places the result in @d. + */ OIL_DEFINE_CLASS (divide_f32, "float *d, float *s1, float *s2, int n"); +/** + * oil_minimum_f32: + * @d: destination + * @s1: source 1 + * @s2: source 2 + * @n: number of elements + * + * Places the lesser of @s1 and @s2 in @d. + */ OIL_DEFINE_CLASS (minimum_f32, "float *d, float *s1, float *s2, int n"); +/** + * oil_maximum_f32: + * @d: destination + * @s1: source 1 + * @s2: source 2 + * @n: number of elements + * + * Places the greater of @s1 and @s2 in @d. + */ OIL_DEFINE_CLASS (maximum_f32, "float *d, float *s1, float *s2, int n"); +/** + * oil_negative_f32: + * @d: destination + * @s: source + * @n: number of elements + * + * Negates each element in @s and places the result in @d. + */ OIL_DEFINE_CLASS (negative_f32, "float *d, float *s, int n"); +/** + * oil_inverse_f32: + * @d: destination + * @s: source + * @n: number of elements + * + * Calculates the multiplicative inverse of each element in @s and + * places the result in @d. + */ OIL_DEFINE_CLASS (inverse_f32, "float *d, float *s, int n"); +/** + * oil_sign_f32: + * @d: destination + * @s: source + * @n: number of elements + * + * Calculates the sign of each element in @s and + * places the result in @d. + */ OIL_DEFINE_CLASS (sign_f32, "float *d, float *s, int n"); +/** + * oil_floor_f32: + * @d: destination + * @s: source + * @n: number of elements + * + * Calculates the greatest integer less than or equal to each element + * in @s and places the result in @d. + */ OIL_DEFINE_CLASS (floor_f32, "float *d, float *s, int n"); +/** + * oil_scalaradd_f32_ns: + * @d: destination + * @s1: source + * @s2_1: source + * @n: number of elements + * + * Adds the constant value @s2_1 to each source element and places + * the result in @d. + */ OIL_DEFINE_CLASS (scalaradd_f32_ns, "float *d, float *s1, float *s2_1, int n"); +/** + * oil_scalarmultiply_f32_ns: + * @d: destination + * @s1: source + * @s2_1: source + * @n: number of elements + * + * Multiplies the constant value @s2_1 and each source element and places + * the result in @d. + */ OIL_DEFINE_CLASS (scalarmultiply_f32_ns, "float *d, float *s1, float *s2_1, int n"); static void diff --git a/liboil/ref/mix_u8.c b/liboil/ref/mix_u8.c index 43fc5a4..32e807c 100644 --- a/liboil/ref/mix_u8.c +++ b/liboil/ref/mix_u8.c @@ -33,6 +33,19 @@ #include <liboil/simdpack/simdpack.h> #include <math.h> +/** + * oil_mix_u8: + * @dest: DEST + * @src1: SRC1 + * @src2: SRC2 + * @src3: MASK + * @n: + * + * Performs the compisiting operation DEST = (SRC2 IN MASK) OVER SRC1, + * except it is done incorrectly, so this function should not be used. + * + * FIXME: This function is broken. + */ OIL_DEFINE_CLASS (mix_u8, "uint8_t *dest, uint8_t *src1, uint8_t *src2, uint8_t *src3, int n"); diff --git a/liboil/ref/mult8x8_s16.c b/liboil/ref/mult8x8_s16.c index 4d129b9..0114eee 100644 --- a/liboil/ref/mult8x8_s16.c +++ b/liboil/ref/mult8x8_s16.c @@ -35,6 +35,18 @@ #include <math.h> +/** + * oil_mult8x8_s16: + * @d_8x8: + * @s1_8x8: + * @s2_8x8: + * @ds: + * @ss1: + * @ss2: + * + * Multiplies each element in @s1_8x8 and @s2_8x8 and places the result + * in @d_8x8. + */ OIL_DEFINE_CLASS (mult8x8_s16, "int16_t *d_8x8, int16_t *s1_8x8, int16_t *s2_8x8, int ds, int ss1, int ss2"); diff --git a/liboil/ref/multsum.c b/liboil/ref/multsum.c index 9b637f5..e8eb478 100644 --- a/liboil/ref/multsum.c +++ b/liboil/ref/multsum.c @@ -61,6 +61,30 @@ OIL_DEFINE_CLASS (multsum_ ## type, \ "type_" #type " *src2, int sstr2, " \ "int n") +/** + * oil_multsum_f32: + * @dest: + * @src1: + * @sstr1: + * @src2: + * @sstr2: + * @n: + * + * Multiplies each element in @src1 and @src2 and sums the results + * over the entire array, and places the sum into @dest. + */ MULTSUM_DEFINE_REF(f32); +/** + * oil_multsum_f64: + * @dest: + * @src1: + * @sstr1: + * @src2: + * @sstr2: + * @n: + * + * Multiplies each element in @src1 and @src2 and sums the results + * over the entire array, and places the sum into @dest. + */ MULTSUM_DEFINE_REF(f64); diff --git a/liboil/ref/permute.c b/liboil/ref/permute.c index 1d5618d..98bc619 100644 --- a/liboil/ref/permute.c +++ b/liboil/ref/permute.c @@ -67,12 +67,124 @@ OIL_DEFINE_CLASS_FULL (permute_ ## type, "type_" #type " *dest, int dstr, " \ "type_" #type " *src1, int sstr1, int32_t *src2, int sstr2, int n", \ permute_test) +/** + * oil_permute_s8: + * @dest: + * @dstr: + * @src1: + * @sstr1: + * @src2: + * @sstr2: + * @n: + * + * Copies elements in @src1 to @dest, permuting them by @src2. That is, + * @dest[i] is set to @src1[@src2[i]]. Values in @src2 must be + * non-negative and less than @n. + */ PERMUTE_DEFINE_REF (s8); +/** + * oil_permute_u8: + * @dest: + * @dstr: + * @src1: + * @sstr1: + * @src2: + * @sstr2: + * @n: + * + * Copies elements in @src1 to @dest, permuting them by @src2. That is, + * @dest[i] is set to @src1[@src2[i]]. Values in @src2 must be + * non-negative and less than @n. + */ PERMUTE_DEFINE_REF (u8); +/** + * oil_permute_s16: + * @dest: + * @dstr: + * @src1: + * @sstr1: + * @src2: + * @sstr2: + * @n: + * + * Copies elements in @src1 to @dest, permuting them by @src2. That is, + * @dest[i] is set to @src1[@src2[i]]. Values in @src2 must be + * non-negative and less than @n. + */ PERMUTE_DEFINE_REF (s16); +/** + * oil_permute_u16: + * @dest: + * @dstr: + * @src1: + * @sstr1: + * @src2: + * @sstr2: + * @n: + * + * Copies elements in @src1 to @dest, permuting them by @src2. That is, + * @dest[i] is set to @src1[@src2[i]]. Values in @src2 must be + * non-negative and less than @n. + */ PERMUTE_DEFINE_REF (u16); +/** + * oil_permute_s32: + * @dest: + * @dstr: + * @src1: + * @sstr1: + * @src2: + * @sstr2: + * @n: + * + * Copies elements in @src1 to @dest, permuting them by @src2. That is, + * @dest[i] is set to @src1[@src2[i]]. Values in @src2 must be + * non-negative and less than @n. + */ PERMUTE_DEFINE_REF (s32); +/** + * oil_permute_u32: + * @dest: + * @dstr: + * @src1: + * @sstr1: + * @src2: + * @sstr2: + * @n: + * + * Copies elements in @src1 to @dest, permuting them by @src2. That is, + * @dest[i] is set to @src1[@src2[i]]. Values in @src2 must be + * non-negative and less than @n. + */ PERMUTE_DEFINE_REF (u32); +/** + * oil_permute_f32: + * @dest: + * @dstr: + * @src1: + * @sstr1: + * @src2: + * @sstr2: + * @n: + * + * Copies elements in @src1 to @dest, permuting them by @src2. That is, + * @dest[i] is set to @src1[@src2[i]]. Values in @src2 must be + * non-negative and less than @n. + */ PERMUTE_DEFINE_REF (f32); +/** + * oil_permute_f64: + * @dest: + * @dstr: + * @src1: + * @sstr1: + * @src2: + * @sstr2: + * @n: + * + * Copies elements in @src1 to @dest, permuting them by @src2. That is, + * @dest[i] is set to @src1[@src2[i]]. Values in @src2 must be + * non-negative and less than @n. + */ PERMUTE_DEFINE_REF (f64); diff --git a/liboil/ref/recon8x8.c b/liboil/ref/recon8x8.c index 0455198..06a000c 100644 --- a/liboil/ref/recon8x8.c +++ b/liboil/ref/recon8x8.c @@ -34,10 +34,44 @@ #include <liboil/liboilcolorspace.h> +/** + * oil_recon8x8_intra: + * @d_8x8: + * @ds: + * @s_8x8: + * + * Adds 128 to each value in the source array, clamps to the range [0,255], + * and places the result in the destination array. + */ OIL_DEFINE_CLASS (recon8x8_intra, "uint8_t *d_8x8, int ds, int16_t *s_8x8"); +/** + * oil_recon8x8_inter: + * @d_8x8: + * @ds: + * @s1_8x8: + * @ss1: + * @s2_8x8: + * + * Adds each element in @s1_8x8 and @s2_8x8, clamps to the range [0,255], + * and places the result in the destination array. + */ OIL_DEFINE_CLASS (recon8x8_inter, "uint8_t *d_8x8, int ds, uint8_t *s1_8x8, int ss1, int16_t *s2_8x8"); +/** + * oil_recon8x8_inter2: + * @d_8x8: + * @ds: + * @s1_8x8: + * @ss1: + * @s2_8x8: + * @ss2: + * @s3_8x8: + * + * Adds each element in @s1_8x8 and @s2_8x8, divides by 2, and adds + * to @s3_8x8, clamps to the range [0,255], and places the result in + * the destination array. + */ OIL_DEFINE_CLASS (recon8x8_inter2, "uint8_t *d_8x8, int ds, uint8_t *s1_8x8, int ss1, uint8_t *s2_8x8, int ss2, int16_t *s3_8x8"); diff --git a/liboil/ref/resample.c b/liboil/ref/resample.c index acefb1c..3cd28d7 100644 --- a/liboil/ref/resample.c +++ b/liboil/ref/resample.c @@ -137,13 +137,13 @@ OIL_DEFINE_IMPL_REF (resample_linear_argb_ref, resample_linear_argb); * @n: * * Linearly interpolate the @s_n and @s2_n arrays using the scale - * factor in @s3_1. Valid values of @s3_1 range from 0 to 256 - * inclusive. A value of 0 indicates weights of 1.0 and 0.0 for + * factor in @s3_1. The value @s3_1 must be in the range [0, 256] + * A value of 0 indicates weights of 1.0 and 0.0 for * the s_n and s2_n arrays respectively. A value of 256 indicates * weights of 0.0 and 1.0 respectively. * * This function is not intended for alpha blending; use one of the - * composite functions instead. + * compositing functions instead. */ static void merge_linear_argb_test (OilTest *test) @@ -157,6 +157,23 @@ OIL_DEFINE_CLASS_FULL (merge_linear_argb, "uint32_t *d_n, uint32_t *s_n, uint32_t *s2_n, uint32_t *s3_1, int n", merge_linear_argb_test); +/** + * oil_merge_linear_argb: + * @d_n: + * @s_n: + * @s2_n: + * @s3_1: + * @n: + * + * Linearly interpolate the @s_n and @s2_n arrays using the scale + * factor in @s3_1. The value @s3_1 must be in the range [0, 256] + * A value of 0 indicates weights of 1.0 and 0.0 for + * the s_n and s2_n arrays respectively. A value of 256 indicates + * weights of 0.0 and 1.0 respectively. + * + * This function is not intended for alpha blending; use one of the + * compositing functions instead. + */ static void merge_linear_argb_ref (uint32_t *d, uint32_t *s1, uint32_t *s2, uint32_t *src3, int n) diff --git a/liboil/ref/rowcolsad8x8.c b/liboil/ref/rowcolsad8x8.c index ecddded..fc57b04 100644 --- a/liboil/ref/rowcolsad8x8.c +++ b/liboil/ref/rowcolsad8x8.c @@ -36,8 +36,32 @@ #define ABS(x) ((x)>0 ? (x) : -(x)) #define DSP_OP_ABS_DIFF(a,b) ABS((((int)(a)) - ((int)(b)))) +/** + * oil_rowsad8x8_u8: + * @d_1: + * @s1_8x8: + * @s2_8x8: + * + * Calculates the sum of absolute differences between @s1_8x8 and @s1_8s8 + * for the first 4 elements of the first row, and the sum of absolute + * differences for the last 4 elements of the first row, and places the + * maximum of those values in @dest. + * + * FIXME: This function is declared incorrectly. + */ OIL_DEFINE_CLASS (rowsad8x8_u8, "uint32_t *d_1, uint8_t *s1_8x8, uint8_t *s2_8x8"); +/** + * oil_colsad8x8_u8: + * @d_1: + * @s1_8x8: + * @s2_8x8: + * + * Divides the 8x8 block into 16 1x4 regions, and calculates the + * sum of absolute differences between @s1_8x8 and @s2_8x8 for + * each region. The maximum of the results in each region is + * placed in @d_1. + */ OIL_DEFINE_CLASS (colsad8x8_u8, "uint32_t *d_1, uint8_t *s1_8x8, int ss1, uint8_t *s2_8x8, int ss2"); diff --git a/liboil/ref/sad8x8.c b/liboil/ref/sad8x8.c index a8e1caf..88cd631 100644 --- a/liboil/ref/sad8x8.c +++ b/liboil/ref/sad8x8.c @@ -34,10 +34,43 @@ #include <math.h> +/** + * oil_sad8x8_u8: + * @d_1: + * @s1_8x8: + * @ss1: + * @s2_8x8: + * @ss2: + * + * Calculates the sum of absolute differences between elements in @s1_8x8 + * and @s2_8x8, and places the result in @d_1. + */ OIL_DEFINE_CLASS (sad8x8_u8, "uint32_t *d_1, uint8_t *s1_8x8, int ss1, uint8_t *s2_8x8, int ss2"); +/** + * oil_sad8x8_s16_2: + * @d_1: + * @s1_8x8: + * @ss1: + * @s2_8x8: + * @ss2: + * + * Calculates the sum of absolute differences between elements in @s1_8x8 + * and @s2_8x8, and places the result in @d_1. + */ OIL_DEFINE_CLASS (sad8x8_s16_2, "uint32_t *d_1, int16_t *s1_8x8, int ss1, int16_t *s2_8x8, int ss2"); +/** + * oil_sad8x8_f64_2: + * @d_1: + * @s1_8x8: + * @ss1: + * @s2_8x8: + * @ss2: + * + * Calculates the sum of absolute differences between elements in @s1_8x8 + * and @s2_8x8, and places the result in @d_1. + */ OIL_DEFINE_CLASS (sad8x8_f64_2, "double *d_1, double *s1_8x8, int ss1, double *s2_8x8, int ss2"); diff --git a/liboil/ref/sad8x8_broken.c b/liboil/ref/sad8x8_broken.c index b0b8a94..356777f 100644 --- a/liboil/ref/sad8x8_broken.c +++ b/liboil/ref/sad8x8_broken.c @@ -34,8 +34,34 @@ #include <math.h> +/** + * oil_sad8x8_s16: + * @d_8x8: + * @ds: + * @s1_8x8: + * @ss1: + * @s2_8x8: + * @ss2: + * + * FIXME: This function is broken and has been replaced by + * @oil_sad8x8_s16_2() because the destination of this function + * is an 8x8 block instead of a single value. + */ OIL_DEFINE_CLASS (sad8x8_s16, "uint32_t *d_8x8, int ds, int16_t *s1_8x8, int ss1, int16_t *s2_8x8, int ss2"); +/** + * oil_sad8x8_f64: + * @d_8x8: + * @ds: + * @s1_8x8: + * @ss1: + * @s2_8x8: + * @ss2: + * + * FIXME: This function is broken and has been replaced by + * @oil_sad8x8_f64_2() because the destination of this function + * is an 8x8 block instead of a single value. + */ OIL_DEFINE_CLASS (sad8x8_f64, "double *d_8x8, int ds, double *s1_8x8, int ss1, double *s2_8x8, int ss2"); diff --git a/liboil/ref/sad8x8avg.c b/liboil/ref/sad8x8avg.c index 846547b..e17dd8a 100644 --- a/liboil/ref/sad8x8avg.c +++ b/liboil/ref/sad8x8avg.c @@ -34,6 +34,21 @@ #define ABS(x) ((x)>0 ? (x) : -(x)) +/** + * oil_sad8x8_u8_avg: + * @d_1: + * @s1_8x8: + * @ss1: + * @s2_8x8: + * @s3_8x8: + * @ss2: + * + * Calculates the sum of absolute differences between @s1_8x8 and + * the average of @s2_8x8 and @s3_8x8. + * + * FIXME: This function is broken because the reference function assumes + * the stride for @s3_8x8 is @ss2. + */ OIL_DEFINE_CLASS (sad8x8_u8_avg, "uint32_t *d_1, uint8_t *s1_8x8, int ss1, uint8_t *s2_8x8, uint8_t *s3_8x8, int ss2"); diff --git a/liboil/ref/scalaradd.c b/liboil/ref/scalaradd.c index 33d8d52..e4aa1da 100644 --- a/liboil/ref/scalaradd.c +++ b/liboil/ref/scalaradd.c @@ -45,19 +45,139 @@ static void scalaradd_ ## type ## _ref( \ } \ } \ OIL_DEFINE_CLASS (scalaradd_ ## type, \ - "type_" #type " *dest, int dstr, " \ - "type_" #type " *src, int sstr, " \ + "type_" #type " *d, int dstr, " \ + "type_" #type " *s1, int sstr, " \ "type_" #type " *s2_1 int n"); \ OIL_DEFINE_IMPL_REF (scalaradd_ ## type ## _ref, scalaradd_ ## type); +/** + * oil_scalaradd_s8: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Adds the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARADD_DEFINE_REF (s8); +/** + * oil_scalaradd_u8: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Adds the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARADD_DEFINE_REF (u8); +/** + * oil_scalaradd_s16: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Adds the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARADD_DEFINE_REF (s16); +/** + * oil_scalaradd_u16: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Adds the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARADD_DEFINE_REF (u16); +/** + * oil_scalaradd_s32: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Adds the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARADD_DEFINE_REF (s32); +/** + * oil_scalaradd_u32: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Adds the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARADD_DEFINE_REF (u32); +/** + * oil_scalaradd_f32: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Adds the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARADD_DEFINE_REF (f32); +/** + * oil_scalaradd_f64: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Adds the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARADD_DEFINE_REF (f64); diff --git a/liboil/ref/scalarmult.c b/liboil/ref/scalarmult.c index b779244..0a5e0f7 100644 --- a/liboil/ref/scalarmult.c +++ b/liboil/ref/scalarmult.c @@ -44,18 +44,138 @@ static void scalarmult_ ## type ## _ref( \ } \ } \ OIL_DEFINE_CLASS(scalarmult_ ## type, \ - "type_" #type " *dest, int dstr, " \ - "type_" #type " *src, int sstr, " \ + "type_" #type " *d, int dstr, " \ + "type_" #type " *s1, int sstr, " \ "type_" #type " *s2_1, int n"); \ OIL_DEFINE_IMPL_REF (scalarmult_ ## type ## _ref, scalarmult_ ## type); +/** + * oil_scalarmult_s8: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Multiplies the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARMULT_DEFINE_REF (s8); +/** + * oil_scalarmult_u8: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Multiplies the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARMULT_DEFINE_REF (u8); +/** + * oil_scalarmult_s16: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Multiplies the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARMULT_DEFINE_REF (s16); +/** + * oil_scalarmult_u16: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Multiplies the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARMULT_DEFINE_REF (u16); +/** + * oil_scalarmult_s32: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Multiplies the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARMULT_DEFINE_REF (s32); +/** + * oil_scalarmult_u32: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Multiplies the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARMULT_DEFINE_REF (u32); +/** + * oil_scalarmult_f32: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Multiplies the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARMULT_DEFINE_REF (f32); +/** + * oil_scalarmult_f64: + * @d: + * @dstr: + * @s1: + * @sstr: + * @s2_1: + * @n: + * + * Multiplies the constant value @s2_1 to each value in @s1 and places the + * result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ SCALARMULT_DEFINE_REF (f64); diff --git a/liboil/ref/sincos_f64.c b/liboil/ref/sincos_f64.c index 7c59b78..4ebc393 100644 --- a/liboil/ref/sincos_f64.c +++ b/liboil/ref/sincos_f64.c @@ -32,6 +32,18 @@ #include <liboil/liboilfunction.h> #include <math.h> +/** + * oil_sincos_f64: + * @dest1: + * @dest2: + * @n: + * @s1_1: + * @s2_1: + * + * Calculates sin(x) and cos(x) and places the results in @dest1 and + * @dest2 respectively. Values for x start at @s1_1 and are incremented + * by @s2_1 for each destination element. + */ OIL_DEFINE_CLASS (sincos_f64, "double *dest1, double *dest2, int n, double *s1_1, double *s2_1"); diff --git a/liboil/ref/splat.c b/liboil/ref/splat.c index 93c434d..4f686e2 100644 --- a/liboil/ref/splat.c +++ b/liboil/ref/splat.c @@ -31,9 +31,43 @@ #include <liboil/liboilfunction.h> #include <string.h> +/** + * oil_splat_u8: + * @dest: + * @dstr: + * @s1_1: + * @n: + * + * Copies the constant source value @s1_1 to each element in @dest. + */ OIL_DEFINE_CLASS(splat_u8,"uint8_t *dest, int dstr, uint8_t *s1_1, int n"); +/** + * oil_splat_u32: + * @dest: + * @dstr: + * @s1_1: + * @n: + * + * Copies the constant source value @s1_1 to each element in @dest. + */ OIL_DEFINE_CLASS(splat_u32,"uint32_t *dest, int dstr, uint32_t *s1_1, int n"); +/** + * oil_splat_u8_ns: + * @dest: + * @s1_1: + * @n: + * + * Copies the constant source value @s1_1 to each element in @dest. + */ OIL_DEFINE_CLASS(splat_u8_ns,"uint8_t *dest, uint8_t *s1_1, int n"); +/** + * oil_splat_u32_ns: + * @dest: + * @s1_1: + * @n: + * + * Copies the constant source value @s1_1 to each element in @dest. + */ OIL_DEFINE_CLASS(splat_u32_ns,"uint32_t *dest, uint32_t *s1_1, int n"); diff --git a/liboil/ref/squaresum_f64.c b/liboil/ref/squaresum_f64.c index d7ede50..d3c2bd3 100644 --- a/liboil/ref/squaresum_f64.c +++ b/liboil/ref/squaresum_f64.c @@ -34,7 +34,16 @@ #include <math.h> -OIL_DEFINE_CLASS (squaresum_f64, "double *dest, double *src, int n"); +/** + * oil_squaresum_f64: + * @d: + * @s: + * @n: + * + * Sums the square of each element in @s and places the result in + * @dest. + */ +OIL_DEFINE_CLASS (squaresum_f64, "double *d, double *s, int n"); static void squaresum_f64_ref(double *dest, double *src, int n) diff --git a/liboil/ref/sum_f64.c b/liboil/ref/sum_f64.c index 2b665ac..aac6aed 100644 --- a/liboil/ref/sum_f64.c +++ b/liboil/ref/sum_f64.c @@ -33,7 +33,17 @@ #include <liboil/simdpack/simdpack.h> #include <math.h> -OIL_DEFINE_CLASS (sum_f64, "double *dest, double *src, int sstr, int n"); +/** + * oil_sum_f64: + * @d_1: destination + * @s: source array + * @sstr: stride of source elements + * @n: number of elements + * + * Sums the elements in the source array and places the result in + * @d. + */ +OIL_DEFINE_CLASS (sum_f64, "double *d_1, double *s, int sstr, int n"); //OIL_DEFINE_CLASS (sum_f64_i10, "double *dest, double *src, int sstr, int n"); static void diff --git a/liboil/ref/tablelookup.c b/liboil/ref/tablelookup.c index 978beb6..f067b36 100644 --- a/liboil/ref/tablelookup.c +++ b/liboil/ref/tablelookup.c @@ -31,6 +31,19 @@ #include <liboil/liboilfunction.h> +/** + * oil_tablelookup_u8: + * @d: + * @ds: + * @s1: + * @ss1: + * @s2_256: + * @ss2: + * @n: + * + * Looks up each element in @s1 using the lookup table in @s2_256, + * and places the table value in @d. + */ OIL_DEFINE_CLASS (tablelookup_u8, "uint8_t *d, int ds, uint8_t *s1, int ss1, " "uint8_t *s2_256, int ss2, int n"); diff --git a/liboil/ref/trans8x8.c b/liboil/ref/trans8x8.c index 8fe882b..b7787fd 100644 --- a/liboil/ref/trans8x8.c +++ b/liboil/ref/trans8x8.c @@ -54,4 +54,54 @@ TRANS8x8_DEFINE_REF(u16); TRANS8x8_DEFINE_REF(u32); TRANS8x8_DEFINE_REF(f64); +/** + * oil_trans8x8_u8: + * @d_8x8: + * @ds: + * @s_8x8: + * @ss: + * + * Performs a matrix transpose the 8x8 block represented by @s_8x8 + * and places the + * result in @d_8x8. Note that this function can also be used for + * any type of this size. + */ + +/** + * oil_trans8x8_u16: + * @d_8x8: + * @ds: + * @s_8x8: + * @ss: + * + * Performs a matrix transpose the 8x8 block represented by @s_8x8 + * and places the + * result in @d_8x8. Note that this function can also be used for + * any type of this size. + */ + +/** + * oil_trans8x8_u32: + * @d_8x8: + * @ds: + * @s_8x8: + * @ss: + * + * Performs a matrix transpose the 8x8 block represented by @s_8x8 + * and places the + * result in @d_8x8. Note that this function can also be used for + * any type of this size. + */ + +/** + * oil_trans8x8_f64: + * @d_8x8: + * @ds: + * @s_8x8: + * @ss: + * + * Performs a matrix transpose the 8x8 block represented by @s_8x8 + * and places the + * result in @d_8x8. + */ diff --git a/liboil/ref/vectoradd_f64.c b/liboil/ref/vectoradd_f64.c index 2b2a092..b6f94f8 100644 --- a/liboil/ref/vectoradd_f64.c +++ b/liboil/ref/vectoradd_f64.c @@ -47,21 +47,178 @@ static void vectoradd_ ## type ## _ref ( \ } \ } \ OIL_DEFINE_CLASS (vectoradd_ ## type, \ - "type_" #type " *dest, int dstr, " \ - "type_" #type " *src1, int sstr1, " \ - "type_" #type " *src2, int sstr2, " \ + "type_" #type " *d, int dstr, " \ + "type_" #type " *s1, int sstr1, " \ + "type_" #type " *s2, int sstr2, " \ "int n, type_" #type " *s3_1, type_" #type " *s4_1"); \ OIL_DEFINE_IMPL_REF (vectoradd_ ## type ## _ref, vectoradd_ ## type); +/** + * oil_vectoradd_s8: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * @s3_1: + * @s4_1: + * + * Multiplies the constant @s3_1 with each element of @s1 and + * multiplies the constant @s4_1 with each element of @s2 and + * adds the two results together and places the final result in + * @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_DEFINE (s8); +/** + * oil_vectoradd_u8: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * @s3_1: + * @s4_1: + * + * Multiplies the constant @s3_1 with each element of @s1 and + * multiplies the constant @s4_1 with each element of @s2 and + * adds the two results together and places the final result in + * @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_DEFINE (u8); +/** + * oil_vectoradd_s16: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * @s3_1: + * @s4_1: + * + * Multiplies the constant @s3_1 with each element of @s1 and + * multiplies the constant @s4_1 with each element of @s2 and + * adds the two results together and places the final result in + * @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_DEFINE (s16); +/** + * oil_vectoradd_u16: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * @s3_1: + * @s4_1: + * + * Multiplies the constant @s3_1 with each element of @s1 and + * multiplies the constant @s4_1 with each element of @s2 and + * adds the two results together and places the final result in + * @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_DEFINE (u16); +/** + * oil_vectoradd_s32: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * @s3_1: + * @s4_1: + * + * Multiplies the constant @s3_1 with each element of @s1 and + * multiplies the constant @s4_1 with each element of @s2 and + * adds the two results together and places the final result in + * @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_DEFINE (s32); +/** + * oil_vectoradd_u32: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * @s3_1: + * @s4_1: + * + * Multiplies the constant @s3_1 with each element of @s1 and + * multiplies the constant @s4_1 with each element of @s2 and + * adds the two results together and places the final result in + * @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_DEFINE (u32); +/** + * oil_vectoradd_f32: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * @s3_1: + * @s4_1: + * + * Multiplies the constant @s3_1 with each element of @s1 and + * multiplies the constant @s4_1 with each element of @s2 and + * adds the two results together and places the final result in + * @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_DEFINE (f32); +/** + * oil_vectoradd_f64: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * @s3_1: + * @s4_1: + * + * Multiplies the constant @s3_1 with each element of @s1 and + * multiplies the constant @s4_1 with each element of @s2 and + * adds the two results together and places the final result in + * @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_DEFINE (f64); - - - diff --git a/liboil/ref/vectoradd_s.c b/liboil/ref/vectoradd_s.c index 15fe654..19f8724 100644 --- a/liboil/ref/vectoradd_s.c +++ b/liboil/ref/vectoradd_s.c @@ -52,18 +52,113 @@ static void vectoradd_s_ ## type ## _ref ( \ } \ } \ OIL_DEFINE_CLASS (vectoradd_s_ ## type, \ - "type_" #type " *dest, int dstr, " \ - "type_" #type " *src1, int sstr1, " \ - "type_" #type " *src2, int sstr2, " \ + "type_" #type " *d, int dstr, " \ + "type_" #type " *s1, int sstr1, " \ + "type_" #type " *s2, int sstr2, " \ "int n"); \ OIL_DEFINE_IMPL_REF (vectoradd_s_ ## type ## _ref, vectoradd_s_ ## type); + +/** + * oil_vectoradd_s_s8: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * + * Adds each element of @s1 to @s2 and clamps the result to the range + * of the type and places the result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_S_DEFINE_IMPL (s8,s16); +/** + * oil_vectoradd_s_u8: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * + * Adds each element of @s1 to @s2 and clamps the result to the range + * of the type and places the result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_S_DEFINE_IMPL (u8,u16); +/** + * oil_vectoradd_s_s16: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * + * Adds each element of @s1 to @s2 and clamps the result to the range + * of the type and places the result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_S_DEFINE_IMPL (s16,s32); +/** + * oil_vectoradd_s_u16: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * + * Adds each element of @s1 to @s2 and clamps the result to the range + * of the type and places the result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_S_DEFINE_IMPL (u16,u32); -//VECTORADD_S_DEFINE_IMPL (s32,s64); -//VECTORADD_S_DEFINE_IMPL (u32,u64); +/** + * oil_vectoradd_s_f32: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * + * Adds each element of @s1 to @s2 and clamps the result to the range + * [-1,1] and places the result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_S_DEFINE_IMPL (f32,f32); +/** + * oil_vectoradd_s_f64: + * @d: + * @dstr: + * @s1: + * @sstr1: + * @s2: + * @sstr2: + * @n: + * + * Adds each element of @s1 to @s2 and clamps the result to the range + * [-1,1] and places the result in @d. + * + * FIXME: This function is difficult to optimize and will likely be + * replaced. + */ VECTORADD_S_DEFINE_IMPL (f64,f64); diff --git a/liboil/utf8/utf8.c b/liboil/utf8/utf8.c index 885d9e4..20889e1 100644 --- a/liboil/utf8/utf8.c +++ b/liboil/utf8/utf8.c @@ -49,6 +49,17 @@ utf8_validate_test (OilTest *test) } +/** + * oil_utf8_validate: + * @d_1: + * @s: + * @n: + * + * Checks @s for valid UTF-8 characters. If the entire @s array + * represents valid UTF-8 characters, @n is written to @d_1. + * Otherwise, the index in the array of the beginning of the first + * invalid UTF-8 character is written to @d_1. + */ OIL_DEFINE_CLASS_FULL (utf8_validate, "int32_t *d_1, uint8_t *s, int n", utf8_validate_test); |