ext, gst: update disted orc backup files

This commit is contained in:
Tim-Philipp Müller 2011-04-17 01:09:33 +01:00
parent 12c8d4559c
commit e5813c9c2c
6 changed files with 2438 additions and 2184 deletions

File diff suppressed because it is too large Load diff

View file

@ -35,6 +35,7 @@ typedef unsigned __int16 orc_uint16;
typedef unsigned __int32 orc_uint32; typedef unsigned __int32 orc_uint32;
typedef unsigned __int64 orc_uint64; typedef unsigned __int64 orc_uint64;
#define ORC_UINT64_C(x) (x##Ui64) #define ORC_UINT64_C(x) (x##Ui64)
#define inline __inline
#else #else
#include <limits.h> #include <limits.h>
typedef signed char orc_int8; typedef signed char orc_int8;
@ -57,80 +58,89 @@ typedef union { orc_int16 i; orc_int8 x2[2]; } orc_union16;
typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32; typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32;
typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16 x4[4]; } orc_union64; typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16 x4[4]; } orc_union64;
#endif #endif
void cogorc_memcpy_2d (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1, int s1_stride, int n, int m); #ifndef ORC_RESTRICT
void cogorc_downsample_horiz_cosite_1tap (orc_uint8 * d1, const orc_uint16 * s1, int n); #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
void cogorc_downsample_horiz_cosite_3tap (orc_uint8 * d1, const orc_uint16 * s1, const orc_uint16 * s2, int n); #define ORC_RESTRICT restrict
void cogorc_downsample_420_jpeg (orc_uint8 * d1, const orc_uint16 * s1, const orc_uint16 * s2, int n); #elif defined(__GNUC__) && __GNUC__ >= 4
void cogorc_downsample_vert_halfsite_2tap (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, int n); #define ORC_RESTRICT __restrict__
void cogorc_downsample_vert_cosite_3tap (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int n); #else
void cogorc_downsample_vert_halfsite_4tap (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n); #define ORC_RESTRICT
void cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const orc_uint8 * s1, int n); #endif
void cogorc_upsample_horiz_cosite (guint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, int n); #endif
void cogorc_upsample_vert_avgub (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, int n); void cogorc_memcpy_2d (orc_uint8 * ORC_RESTRICT d1, int d1_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void orc_unpack_yuyv_y (orc_uint8 * d1, const orc_uint16 * s1, int n); void cogorc_downsample_horiz_cosite_1tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, int n);
void orc_unpack_yuyv_u (orc_uint8 * d1, const orc_uint32 * s1, int n); void cogorc_downsample_horiz_cosite_3tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, int n);
void orc_unpack_yuyv_v (orc_uint8 * d1, const orc_uint32 * s1, int n); void cogorc_downsample_420_jpeg (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, int n);
void orc_pack_yuyv (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int n); void cogorc_downsample_vert_halfsite_2tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n);
void orc_unpack_uyvy_y (orc_uint8 * d1, const orc_uint16 * s1, int n); void cogorc_downsample_vert_cosite_3tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n);
void orc_unpack_uyvy_u (orc_uint8 * d1, const orc_uint32 * s1, int n); void cogorc_downsample_vert_halfsite_4tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n);
void orc_unpack_uyvy_v (orc_uint8 * d1, const orc_uint32 * s1, int n); void cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, int n);
void orc_pack_uyvy (orc_uint32 * d1, const guint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int n); void cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n);
void orc_addc_convert_u8_s16 (orc_uint8 * d1, const gint16 * s1, int n); void cogorc_upsample_vert_avgub (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int n);
void orc_subc_convert_s16_u8 (gint16 * d1, const orc_uint8 * s1, int n); void orc_unpack_yuyv_y (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, int n);
void orc_splat_u8_ns (orc_uint8 * d1, int p1, int n); void orc_unpack_yuyv_u (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
void orc_splat_s16_ns (gint16 * d1, int p1, int n); void orc_unpack_yuyv_v (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
void orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, int p2, int p3, int n); void orc_pack_yuyv (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n);
void orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, int p2, int n); void orc_unpack_uyvy_y (orc_uint8 * ORC_RESTRICT d1, const orc_uint16 * ORC_RESTRICT s1, int n);
void orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, int p2, int n); void orc_unpack_uyvy_u (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
void orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4, int n); void orc_unpack_uyvy_v (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
void orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int n); void orc_pack_uyvy (orc_uint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n);
void orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n); void orc_addc_convert_u8_s16 (orc_uint8 * ORC_RESTRICT d1, const gint16 * ORC_RESTRICT s1, int n);
void orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n); void orc_subc_convert_s16_u8 (gint16 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, int n);
void orc_pack_123x (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int p1, int n); void orc_splat_u8_ns (orc_uint8 * ORC_RESTRICT d1, int p1, int n);
void orc_pack_x123 (guint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int p1, int n); void orc_splat_s16_ns (gint16 * ORC_RESTRICT d1, int p1, int n);
void cogorc_combine2_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, int p1, int p2, int n); void orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int p3, int n);
void cogorc_combine4_u8 (orc_uint8 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int p1, int p2, int p3, int p4, int n); void orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int n);
void cogorc_unpack_axyz_0 (orc_uint8 * d1, const orc_uint32 * s1, int n); void orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int n);
void cogorc_unpack_axyz_1 (orc_uint8 * d1, const orc_uint32 * s1, int n); void orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int n);
void cogorc_unpack_axyz_2 (orc_uint8 * d1, const orc_uint32 * s1, int n); void orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int n);
void cogorc_unpack_axyz_3 (orc_uint8 * d1, const orc_uint32 * s1, int n); void orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5, int n);
void cogorc_resample_horiz_1tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, int p2, int n); void orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5, int n);
void cogorc_resample_horiz_2tap (orc_uint8 * d1, const orc_uint8 * s1, int p1, int p2, int n); void orc_pack_123x (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int p1, int n);
void cogorc_convert_I420_UYVY (orc_uint32 * d1, orc_uint32 * d2, const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n); void orc_pack_x123 (guint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int p1, int n);
void cogorc_convert_I420_YUY2 (orc_uint32 * d1, orc_uint32 * d2, const orc_uint16 * s1, const orc_uint16 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n); void cogorc_combine2_u8 (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p1, int p2, int n);
void cogorc_convert_I420_AYUV (orc_uint32 * d1, orc_uint32 * d2, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int n); void cogorc_combine4_u8 (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int p1, int p2, int p3, int p4, int n);
void cogorc_convert_YUY2_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n); void cogorc_unpack_axyz_0 (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
void cogorc_convert_UYVY_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); void cogorc_unpack_axyz_1 (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
void cogorc_planar_chroma_420_422 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m); void cogorc_unpack_axyz_2 (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
void cogorc_planar_chroma_420_444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, int d2_stride, const orc_uint8 * s1, int s1_stride, int n, int m); void cogorc_unpack_axyz_3 (orc_uint8 * ORC_RESTRICT d1, const orc_uint32 * ORC_RESTRICT s1, int n);
void cogorc_planar_chroma_422_444 (orc_uint16 * d1, int d1_stride, const orc_uint8 * s1, int s1_stride, int n, int m); void cogorc_resample_horiz_1tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n);
void cogorc_planar_chroma_444_422 (orc_uint8 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, int n, int m); void cogorc_resample_horiz_2tap (orc_uint8 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, int p1, int p2, int n);
void cogorc_planar_chroma_444_420 (orc_uint8 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, int n, int m); void cogorc_convert_I420_UYVY (orc_uint32 * ORC_RESTRICT d1, orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n);
void cogorc_planar_chroma_422_420 (orc_uint8 * d1, int d1_stride, const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, int n, int m); void cogorc_convert_I420_YUY2 (orc_uint32 * ORC_RESTRICT d1, orc_uint32 * ORC_RESTRICT d2, const orc_uint16 * ORC_RESTRICT s1, const orc_uint16 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n);
void cogorc_convert_YUY2_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); void cogorc_convert_I420_AYUV (orc_uint32 * ORC_RESTRICT d1, orc_uint32 * ORC_RESTRICT d2, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, int n);
void cogorc_convert_UYVY_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); void cogorc_convert_YUY2_I420 (orc_uint16 * ORC_RESTRICT d1, orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3, orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1, const orc_uint32 * ORC_RESTRICT s2, int n);
void cogorc_convert_YUY2_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m); void cogorc_convert_UYVY_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_UYVY_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m); void cogorc_planar_chroma_420_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_YUY2_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m); void cogorc_planar_chroma_420_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint16 * ORC_RESTRICT d2, int d2_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_UYVY_Y444 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, int d2_stride, orc_uint16 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m); void cogorc_planar_chroma_422_444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_UYVY_I420 (orc_uint16 * d1, orc_uint16 * d2, orc_uint8 * d3, orc_uint8 * d4, const orc_uint32 * s1, const orc_uint32 * s2, int n); void cogorc_planar_chroma_444_422 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_I420 (orc_uint16 * d1, int d1_stride, orc_uint16 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, orc_uint8 * d4, int d4_stride, const orc_uint64 * s1, int s1_stride, const orc_uint64 * s2, int s2_stride, int n, int m); void cogorc_planar_chroma_444_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint16 * ORC_RESTRICT s2, int s2_stride, int n, int m);
void cogorc_convert_AYUV_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, int s1_stride, int n, int m); void cogorc_planar_chroma_422_420 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
void cogorc_convert_AYUV_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint64 * s1, int s1_stride, int n, int m); void cogorc_convert_YUY2_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_Y42B (orc_uint16 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint64 * s1, int s1_stride, int n, int m); void cogorc_convert_UYVY_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_Y444 (orc_uint8 * d1, int d1_stride, orc_uint8 * d2, int d2_stride, orc_uint8 * d3, int d3_stride, const orc_uint32 * s1, int s1_stride, int n, int m); void cogorc_convert_YUY2_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_Y42B_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, int s3_stride, int n, int m); void cogorc_convert_UYVY_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_Y42B_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, int s3_stride, int n, int m); void cogorc_convert_YUY2_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_Y42B_AYUV (orc_uint64 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, int s3_stride, int n, int m); void cogorc_convert_UYVY_Y444 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint16 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_Y444_YUY2 (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3, int s3_stride, int n, int m); void cogorc_convert_UYVY_I420 (orc_uint16 * ORC_RESTRICT d1, orc_uint16 * ORC_RESTRICT d2, orc_uint8 * ORC_RESTRICT d3, orc_uint8 * ORC_RESTRICT d4, const orc_uint32 * ORC_RESTRICT s1, const orc_uint32 * ORC_RESTRICT s2, int n);
void cogorc_convert_Y444_UYVY (orc_uint32 * d1, int d1_stride, const orc_uint16 * s1, int s1_stride, const orc_uint16 * s2, int s2_stride, const orc_uint16 * s3, int s3_stride, int n, int m); void cogorc_convert_AYUV_I420 (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint16 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, orc_uint8 * ORC_RESTRICT d4, int d4_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, const orc_uint64 * ORC_RESTRICT s2, int s2_stride, int n, int m);
void cogorc_convert_Y444_AYUV (orc_uint32 * d1, int d1_stride, const orc_uint8 * s1, int s1_stride, const orc_uint8 * s2, int s2_stride, const orc_uint8 * s3, int s3_stride, int n, int m); void cogorc_convert_AYUV_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_ARGB (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); void cogorc_convert_AYUV_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_BGRA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); void cogorc_convert_AYUV_Y42B (orc_uint16 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, const orc_uint64 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_ABGR (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); void cogorc_convert_AYUV_Y444 (orc_uint8 * ORC_RESTRICT d1, int d1_stride, orc_uint8 * ORC_RESTRICT d2, int d2_stride, orc_uint8 * ORC_RESTRICT d3, int d3_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_RGBA (orc_uint32 * d1, int d1_stride, const orc_uint32 * s1, int s1_stride, int n, int m); void cogorc_convert_Y42B_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void cogorc_convert_I420_BGRA (orc_uint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, int n); void cogorc_convert_Y42B_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void cogorc_convert_I420_BGRA_avg (orc_uint32 * d1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, const orc_uint8 * s5, int n); void cogorc_convert_Y42B_AYUV (orc_uint64 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void cogorc_convert_Y444_YUY2 (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint16 * ORC_RESTRICT s2, int s2_stride, const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void cogorc_convert_Y444_UYVY (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint16 * ORC_RESTRICT s1, int s1_stride, const orc_uint16 * ORC_RESTRICT s2, int s2_stride, const orc_uint16 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void cogorc_convert_Y444_AYUV (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint8 * ORC_RESTRICT s1, int s1_stride, const orc_uint8 * ORC_RESTRICT s2, int s2_stride, const orc_uint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void cogorc_convert_AYUV_ARGB (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_BGRA (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_ABGR (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_RGBA (orc_uint32 * ORC_RESTRICT d1, int d1_stride, const orc_uint32 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_I420_BGRA (orc_uint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, int n);
void cogorc_convert_I420_BGRA_avg (orc_uint32 * ORC_RESTRICT d1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5, int n);
#ifdef __cplusplus #ifdef __cplusplus
} }

File diff suppressed because it is too large Load diff

View file

@ -35,6 +35,7 @@ typedef unsigned __int16 orc_uint16;
typedef unsigned __int32 orc_uint32; typedef unsigned __int32 orc_uint32;
typedef unsigned __int64 orc_uint64; typedef unsigned __int64 orc_uint64;
#define ORC_UINT64_C(x) (x##Ui64) #define ORC_UINT64_C(x) (x##Ui64)
#define inline __inline
#else #else
#include <limits.h> #include <limits.h>
typedef signed char orc_int8; typedef signed char orc_int8;
@ -57,98 +58,107 @@ typedef union { orc_int16 i; orc_int8 x2[2]; } orc_union16;
typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32; typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32;
typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16 x4[4]; } orc_union64; typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16 x4[4]; } orc_union64;
#endif #endif
void cogorc_memcpy_2d (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, int n, int m); #ifndef ORC_RESTRICT
void cogorc_downsample_horiz_cosite_1tap (guint8 * d1, const guint8 * s1, int n); #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
void cogorc_downsample_horiz_cosite_3tap (guint8 * d1, const guint8 * s1, const guint8 * s2, int n); #define ORC_RESTRICT restrict
void cogorc_downsample_420_jpeg (guint8 * d1, const guint8 * s1, const guint8 * s2, int n); #elif defined(__GNUC__) && __GNUC__ >= 4
void cogorc_downsample_vert_halfsite_2tap (guint8 * d1, const guint8 * s1, const guint8 * s2, int n); #define ORC_RESTRICT __restrict__
void cogorc_downsample_vert_cosite_3tap (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int n); #else
void cogorc_downsample_vert_halfsite_4tap (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, const guint8 * s4, int n); #define ORC_RESTRICT
void cogorc_upsample_horiz_cosite_1tap (guint8 * d1, const guint8 * s1, int n); #endif
void cogorc_upsample_horiz_cosite (guint8 * d1, const guint8 * s1, const guint8 * s2, int n); #endif
void cogorc_upsample_vert_avgub (guint8 * d1, const guint8 * s1, const guint8 * s2, int n); void cogorc_memcpy_2d (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void orc_unpack_yuyv_y (guint8 * d1, const guint8 * s1, int n); void cogorc_downsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void orc_unpack_yuyv_u (guint8 * d1, const guint8 * s1, int n); void cogorc_downsample_horiz_cosite_3tap (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
void orc_unpack_yuyv_v (guint8 * d1, const guint8 * s1, int n); void cogorc_downsample_420_jpeg (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
void orc_pack_yuyv (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int n); void cogorc_downsample_vert_halfsite_2tap (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
void orc_unpack_uyvy_y (guint8 * d1, const guint8 * s1, int n); void cogorc_downsample_vert_cosite_3tap (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
void orc_unpack_uyvy_u (guint8 * d1, const guint8 * s1, int n); void cogorc_downsample_vert_halfsite_4tap (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
void orc_unpack_uyvy_v (guint8 * d1, const guint8 * s1, int n); void cogorc_upsample_horiz_cosite_1tap (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void orc_pack_uyvy (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int n); void cogorc_upsample_horiz_cosite (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
void orc_matrix2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, int p2, int p3, int n); void cogorc_upsample_vert_avgub (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
void orc_matrix2_11_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, int p2, int n); void orc_unpack_yuyv_y (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void orc_matrix2_12_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, int p2, int n); void orc_unpack_yuyv_u (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void orc_matrix3_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4, int n); void orc_unpack_yuyv_v (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void orc_matrix3_100_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int n); void orc_pack_yuyv (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
void orc_matrix3_100_offset_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n); void orc_unpack_uyvy_y (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void orc_matrix3_000_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int p2, int p3, int p4, int p5, int n); void orc_unpack_uyvy_u (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void orc_pack_123x (guint32 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int n); void orc_unpack_uyvy_v (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void orc_pack_x123 (guint32 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int p1, int n); void orc_pack_uyvy (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
void cogorc_combine2_u8 (guint8 * d1, const guint8 * s1, const guint8 * s2, int p1, int p2, int n); void orc_matrix2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int p3, int n);
void cogorc_convert_I420_UYVY (guint8 * d1, guint8 * d2, const guint8 * s1, const guint8 * s2, const guint8 * s3, const guint8 * s4, int n); void orc_matrix2_11_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int n);
void cogorc_convert_I420_YUY2 (guint8 * d1, guint8 * d2, const guint8 * s1, const guint8 * s2, const guint8 * s3, const guint8 * s4, int n); void orc_matrix2_12_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int n);
void cogorc_convert_I420_AYUV (guint8 * d1, guint8 * d2, const guint8 * s1, const guint8 * s2, const guint8 * s3, const guint8 * s4, int n); void orc_matrix3_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int n);
void cogorc_convert_YUY2_I420 (guint8 * d1, guint8 * d2, guint8 * d3, guint8 * d4, const guint8 * s1, const guint8 * s2, int n); void orc_matrix3_100_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int n);
void cogorc_convert_UYVY_YUY2 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, int n, int m); void orc_matrix3_100_offset_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5, int n);
void cogorc_planar_chroma_420_422 (guint8 * d1, int d1_stride, guint8 * d2, int d2_stride, const guint8 * s1, int s1_stride, int n, int m); void orc_matrix3_000_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int p2, int p3, int p4, int p5, int n);
void cogorc_planar_chroma_420_444 (guint8 * d1, int d1_stride, guint8 * d2, int d2_stride, const guint8 * s1, int s1_stride, int n, int m); void orc_pack_123x (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int n);
void cogorc_planar_chroma_422_444 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, int n, int m); void orc_pack_x123 (guint32 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int p1, int n);
void cogorc_planar_chroma_444_422 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_combine2_u8 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int p1, int p2, int n);
void cogorc_planar_chroma_444_420 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, const guint8 * s2, int s2_stride, int n, int m); void cogorc_convert_I420_UYVY (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
void cogorc_planar_chroma_422_420 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, const guint8 * s2, int s2_stride, int n, int m); void cogorc_convert_I420_YUY2 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
void cogorc_convert_YUY2_AYUV (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_convert_I420_AYUV (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
void cogorc_convert_UYVY_AYUV (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_convert_YUY2_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
void cogorc_convert_YUY2_Y42B (guint8 * d1, int d1_stride, guint8 * d2, int d2_stride, guint8 * d3, int d3_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_convert_UYVY_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_UYVY_Y42B (guint8 * d1, int d1_stride, guint8 * d2, int d2_stride, guint8 * d3, int d3_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_planar_chroma_420_422 (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_YUY2_Y444 (guint8 * d1, int d1_stride, guint8 * d2, int d2_stride, guint8 * d3, int d3_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_planar_chroma_420_444 (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_UYVY_Y444 (guint8 * d1, int d1_stride, guint8 * d2, int d2_stride, guint8 * d3, int d3_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_planar_chroma_422_444 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_UYVY_I420 (guint8 * d1, guint8 * d2, guint8 * d3, guint8 * d4, const guint8 * s1, const guint8 * s2, int n); void cogorc_planar_chroma_444_422 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_I420 (guint8 * d1, int d1_stride, guint8 * d2, int d2_stride, guint8 * d3, int d3_stride, guint8 * d4, int d4_stride, const guint8 * s1, int s1_stride, const guint8 * s2, int s2_stride, int n, int m); void cogorc_planar_chroma_444_420 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
void cogorc_convert_AYUV_YUY2 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_planar_chroma_422_420 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
void cogorc_convert_AYUV_UYVY (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_convert_YUY2_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_Y42B (guint8 * d1, int d1_stride, guint8 * d2, int d2_stride, guint8 * d3, int d3_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_convert_UYVY_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_Y444 (guint8 * d1, int d1_stride, guint8 * d2, int d2_stride, guint8 * d3, int d3_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_convert_YUY2_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_Y42B_YUY2 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, const guint8 * s2, int s2_stride, const guint8 * s3, int s3_stride, int n, int m); void cogorc_convert_UYVY_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_Y42B_UYVY (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, const guint8 * s2, int s2_stride, const guint8 * s3, int s3_stride, int n, int m); void cogorc_convert_YUY2_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_Y42B_AYUV (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, const guint8 * s2, int s2_stride, const guint8 * s3, int s3_stride, int n, int m); void cogorc_convert_UYVY_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_Y444_YUY2 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, const guint8 * s2, int s2_stride, const guint8 * s3, int s3_stride, int n, int m); void cogorc_convert_UYVY_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
void cogorc_convert_Y444_UYVY (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, const guint8 * s2, int s2_stride, const guint8 * s3, int s3_stride, int n, int m); void cogorc_convert_AYUV_I420 (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, guint8 * ORC_RESTRICT d4, int d4_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, int n, int m);
void cogorc_convert_Y444_AYUV (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, const guint8 * s2, int s2_stride, const guint8 * s3, int s3_stride, int n, int m); void cogorc_convert_AYUV_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_ARGB (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_convert_AYUV_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_BGRA (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_convert_AYUV_Y42B (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_ABGR (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_convert_AYUV_Y444 (guint8 * ORC_RESTRICT d1, int d1_stride, guint8 * ORC_RESTRICT d2, int d2_stride, guint8 * ORC_RESTRICT d3, int d3_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_convert_AYUV_RGBA (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride, int n, int m); void cogorc_convert_Y42B_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void cogorc_convert_I420_BGRA (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int n); void cogorc_convert_Y42B_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void cogorc_convert_I420_BGRA_avg (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, const guint8 * s4, const guint8 * s5, int n); void cogorc_convert_Y42B_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void cogorc_getline_I420 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int n); void cogorc_convert_Y444_YUY2 (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void cogorc_getline_YUV9 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int n); void cogorc_convert_Y444_UYVY (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void cogorc_getline_YUY2 (guint8 * d1, const guint8 * s1, int n); void cogorc_convert_Y444_AYUV (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, const guint8 * ORC_RESTRICT s2, int s2_stride, const guint8 * ORC_RESTRICT s3, int s3_stride, int n, int m);
void cogorc_getline_UYVY (guint8 * d1, const guint8 * s1, int n); void cogorc_convert_AYUV_ARGB (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_getline_YVYU (guint8 * d1, const guint8 * s1, int n); void cogorc_convert_AYUV_BGRA (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_getline_Y42B (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int n); void cogorc_convert_AYUV_ABGR (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_getline_Y444 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int n); void cogorc_convert_AYUV_RGBA (guint8 * ORC_RESTRICT d1, int d1_stride, const guint8 * ORC_RESTRICT s1, int s1_stride, int n, int m);
void cogorc_getline_Y800 (guint8 * d1, const guint8 * s1, int n); void cogorc_convert_I420_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
void cogorc_getline_Y16 (guint8 * d1, const guint8 * s1, int n); void cogorc_convert_I420_BGRA_avg (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, const guint8 * ORC_RESTRICT s5, int n);
void cogorc_getline_BGRA (guint8 * d1, const guint8 * s1, int n); void cogorc_getline_I420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
void cogorc_getline_ABGR (guint8 * d1, const guint8 * s1, int n); void cogorc_getline_YUV9 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
void cogorc_getline_RGBA (guint8 * d1, const guint8 * s1, int n); void cogorc_getline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_getline_NV12 (guint8 * d1, const guint8 * s1, const guint8 * s2, int n); void cogorc_getline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_getline_NV21 (guint8 * d1, const guint8 * s1, const guint8 * s2, int n); void cogorc_getline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_getline_A420 (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, const guint8 * s4, int n); void cogorc_getline_Y42B (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
void cogorc_putline_I420 (guint8 * d1, guint8 * d2, guint8 * d3, const guint8 * s1, int n); void cogorc_getline_Y444 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, int n);
void cogorc_putline_YUY2 (guint8 * d1, const guint8 * s1, int n); void cogorc_getline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_YVYU (guint8 * d1, const guint8 * s1, int n); void cogorc_getline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_UYVY (guint8 * d1, const guint8 * s1, int n); void cogorc_getline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_Y42B (guint8 * d1, guint8 * d2, guint8 * d3, const guint8 * s1, int n); void cogorc_getline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_Y444 (guint8 * d1, guint8 * d2, guint8 * d3, const guint8 * s1, int n); void cogorc_getline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_Y800 (guint8 * d1, const guint8 * s1, int n); void cogorc_getline_NV12 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
void cogorc_putline_Y16 (guint8 * d1, const guint8 * s1, int n); void cogorc_getline_NV21 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, int n);
void cogorc_putline_BGRA (guint8 * d1, const guint8 * s1, int n); void cogorc_getline_A420 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, const guint8 * ORC_RESTRICT s2, const guint8 * ORC_RESTRICT s3, const guint8 * ORC_RESTRICT s4, int n);
void cogorc_putline_ABGR (guint8 * d1, const guint8 * s1, int n); void cogorc_putline_I420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_RGBA (guint8 * d1, const guint8 * s1, int n); void cogorc_putline_YUY2 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_NV12 (guint8 * d1, guint8 * d2, const guint8 * s1, int n); void cogorc_putline_YVYU (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_NV21 (guint8 * d1, guint8 * d2, const guint8 * s1, int n); void cogorc_putline_UYVY (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_A420 (guint8 * d1, guint8 * d2, guint8 * d3, guint8 * d4, const guint8 * s1, int n); void cogorc_putline_Y42B (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_Y444 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_Y800 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_Y16 (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_BGRA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_ABGR (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_RGBA (guint8 * ORC_RESTRICT d1, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_NV12 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_NV21 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, const guint8 * ORC_RESTRICT s1, int n);
void cogorc_putline_A420 (guint8 * ORC_RESTRICT d1, guint8 * ORC_RESTRICT d2, guint8 * ORC_RESTRICT d3, guint8 * ORC_RESTRICT d4, const guint8 * ORC_RESTRICT s1, int n);
#ifdef __cplusplus #ifdef __cplusplus
} }

View file

@ -4,9 +4,6 @@
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include "config.h" #include "config.h"
#endif #endif
#ifndef DISABLE_ORC
#include <orc/orc.h>
#endif
#include <glib.h> #include <glib.h>
#ifndef _ORC_INTEGER_TYPEDEFS_ #ifndef _ORC_INTEGER_TYPEDEFS_
@ -32,6 +29,7 @@ typedef unsigned __int16 orc_uint16;
typedef unsigned __int32 orc_uint32; typedef unsigned __int32 orc_uint32;
typedef unsigned __int64 orc_uint64; typedef unsigned __int64 orc_uint64;
#define ORC_UINT64_C(x) (x##Ui64) #define ORC_UINT64_C(x) (x##Ui64)
#define inline __inline
#else #else
#include <limits.h> #include <limits.h>
typedef signed char orc_int8; typedef signed char orc_int8;
@ -71,17 +69,34 @@ typedef union
orc_int16 x4[4]; orc_int16 x4[4];
} orc_union64; } orc_union64;
#endif #endif
#ifndef ORC_RESTRICT
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
#define ORC_RESTRICT restrict
#elif defined(__GNUC__) && __GNUC__ >= 4
#define ORC_RESTRICT __restrict__
#else
#define ORC_RESTRICT
#endif
#endif
void orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1, #ifndef DISABLE_ORC
const orc_uint8 * s2, int p2, int n); #include <orc/orc.h>
void orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1, #endif
const orc_uint8 * s2, int p2, int n); void orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
void orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int p2, int n);
const orc_uint8 * s5, const orc_uint8 * s6, int p2, int n); void orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
void orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, int p2, int n);
const orc_uint8 * s5, int p2, int n); void orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6,
int p2, int n);
void orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
const orc_uint8 * ORC_RESTRICT s5, int p2, int n);
void gst_fieldanalysis_orc_init (void); void gst_fieldanalysis_orc_init (void);
@ -117,6 +132,7 @@ void gst_fieldanalysis_orc_init (void);
#define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0)) #define ORC_ISNAN(x) ((((x)&0x7f800000) == 0x7f800000) && (((x)&0x007fffff) != 0))
#define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff))) #define ORC_DENORMAL_DOUBLE(x) ((x) & ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == 0) ? ORC_UINT64_C(0xfff0000000000000) : ORC_UINT64_C(0xffffffffffffffff)))
#define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0)) #define ORC_ISNAN_DOUBLE(x) ((((x)&ORC_UINT64_C(0x7ff0000000000000)) == ORC_UINT64_C(0x7ff0000000000000)) && (((x)&ORC_UINT64_C(0x000fffffffffffff)) != 0))
#ifndef ORC_RESTRICT
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
#define ORC_RESTRICT restrict #define ORC_RESTRICT restrict
#elif defined(__GNUC__) && __GNUC__ >= 4 #elif defined(__GNUC__) && __GNUC__ >= 4
@ -124,6 +140,7 @@ void gst_fieldanalysis_orc_init (void);
#else #else
#define ORC_RESTRICT #define ORC_RESTRICT
#endif #endif
#endif
/* end Orc C target preamble */ /* end Orc C target preamble */
@ -131,8 +148,9 @@ void gst_fieldanalysis_orc_init (void);
/* orc_same_parity_sad_planar_yuv */ /* orc_same_parity_sad_planar_yuv */
#ifdef DISABLE_ORC #ifdef DISABLE_ORC
void void
orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1, orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
const orc_uint8 * s2, int p2, int n) const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
int p2, int n)
{ {
int i; int i;
const orc_int8 *ORC_RESTRICT ptr4; const orc_int8 *ORC_RESTRICT ptr4;
@ -183,7 +201,7 @@ orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1,
#else #else
static void static void
_backup_orc_same_parity_sad_planar_yuv (OrcExecutor * ex) _backup_orc_same_parity_sad_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
{ {
int i; int i;
int n = ex->n; int n = ex->n;
@ -235,8 +253,9 @@ _backup_orc_same_parity_sad_planar_yuv (OrcExecutor * ex)
static OrcProgram *_orc_program_orc_same_parity_sad_planar_yuv; static OrcProgram *_orc_program_orc_same_parity_sad_planar_yuv;
void void
orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1, orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1,
const orc_uint8 * s2, int p2, int n) const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
int p2, int n)
{ {
OrcExecutor _ex, *ex = &_ex; OrcExecutor _ex, *ex = &_ex;
OrcProgram *p = _orc_program_orc_same_parity_sad_planar_yuv; OrcProgram *p = _orc_program_orc_same_parity_sad_planar_yuv;
@ -259,8 +278,9 @@ orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1,
/* orc_same_parity_ssd_planar_yuv */ /* orc_same_parity_ssd_planar_yuv */
#ifdef DISABLE_ORC #ifdef DISABLE_ORC
void void
orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1, orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
const orc_uint8 * s2, int p2, int n) const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
int p2, int n)
{ {
int i; int i;
const orc_int8 *ORC_RESTRICT ptr4; const orc_int8 *ORC_RESTRICT ptr4;
@ -308,7 +328,7 @@ orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1,
#else #else
static void static void
_backup_orc_same_parity_ssd_planar_yuv (OrcExecutor * ex) _backup_orc_same_parity_ssd_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
{ {
int i; int i;
int n = ex->n; int n = ex->n;
@ -357,8 +377,9 @@ _backup_orc_same_parity_ssd_planar_yuv (OrcExecutor * ex)
static OrcProgram *_orc_program_orc_same_parity_ssd_planar_yuv; static OrcProgram *_orc_program_orc_same_parity_ssd_planar_yuv;
void void
orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1, orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1,
const orc_uint8 * s2, int p2, int n) const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
int p2, int n)
{ {
OrcExecutor _ex, *ex = &_ex; OrcExecutor _ex, *ex = &_ex;
OrcProgram *p = _orc_program_orc_same_parity_ssd_planar_yuv; OrcProgram *p = _orc_program_orc_same_parity_ssd_planar_yuv;
@ -381,9 +402,11 @@ orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1,
/* orc_same_parity_3_tap_planar_yuv */ /* orc_same_parity_3_tap_planar_yuv */
#ifdef DISABLE_ORC #ifdef DISABLE_ORC
void void
orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
const orc_uint8 * s5, const orc_uint8 * s6, int p2, int n) const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6,
int p2, int n)
{ {
int i; int i;
const orc_int8 *ORC_RESTRICT ptr4; const orc_int8 *ORC_RESTRICT ptr4;
@ -484,7 +507,7 @@ orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1,
#else #else
static void static void
_backup_orc_same_parity_3_tap_planar_yuv (OrcExecutor * ex) _backup_orc_same_parity_3_tap_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
{ {
int i; int i;
int n = ex->n; int n = ex->n;
@ -586,9 +609,11 @@ _backup_orc_same_parity_3_tap_planar_yuv (OrcExecutor * ex)
static OrcProgram *_orc_program_orc_same_parity_3_tap_planar_yuv; static OrcProgram *_orc_program_orc_same_parity_3_tap_planar_yuv;
void void
orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
const orc_uint8 * s5, const orc_uint8 * s6, int p2, int n) const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6,
int p2, int n)
{ {
OrcExecutor _ex, *ex = &_ex; OrcExecutor _ex, *ex = &_ex;
OrcProgram *p = _orc_program_orc_same_parity_3_tap_planar_yuv; OrcProgram *p = _orc_program_orc_same_parity_3_tap_planar_yuv;
@ -615,9 +640,10 @@ orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1,
/* orc_opposite_parity_5_tap_planar_yuv */ /* orc_opposite_parity_5_tap_planar_yuv */
#ifdef DISABLE_ORC #ifdef DISABLE_ORC
void void
orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
const orc_uint8 * s5, int p2, int n) const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
const orc_uint8 * ORC_RESTRICT s5, int p2, int n)
{ {
int i; int i;
const orc_int8 *ORC_RESTRICT ptr4; const orc_int8 *ORC_RESTRICT ptr4;
@ -658,9 +684,9 @@ orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1,
ptr8 = (orc_int8 *) s5; ptr8 = (orc_int8 *) s5;
/* 11: loadpw */ /* 11: loadpw */
var44.i = 0x00000003; /* 3 or 1.4822e-323f */ var44.i = (int) 0x00000003; /* 3 or 1.4822e-323f */
/* 13: loadpw */ /* 13: loadpw */
var45.i = 0x00000003; /* 3 or 1.4822e-323f */ var45.i = (int) 0x00000003; /* 3 or 1.4822e-323f */
/* 21: loadpl */ /* 21: loadpl */
var46.i = p2; var46.i = p2;
@ -716,7 +742,7 @@ orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1,
#else #else
static void static void
_backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ex) _backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ORC_RESTRICT ex)
{ {
int i; int i;
int n = ex->n; int n = ex->n;
@ -758,9 +784,9 @@ _backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ex)
ptr8 = (orc_int8 *) ex->arrays[8]; ptr8 = (orc_int8 *) ex->arrays[8];
/* 11: loadpw */ /* 11: loadpw */
var44.i = 0x00000003; /* 3 or 1.4822e-323f */ var44.i = (int) 0x00000003; /* 3 or 1.4822e-323f */
/* 13: loadpw */ /* 13: loadpw */
var45.i = 0x00000003; /* 3 or 1.4822e-323f */ var45.i = (int) 0x00000003; /* 3 or 1.4822e-323f */
/* 21: loadpl */ /* 21: loadpl */
var46.i = ex->params[25]; var46.i = ex->params[25];
@ -816,9 +842,10 @@ _backup_orc_opposite_parity_5_tap_planar_yuv (OrcExecutor * ex)
static OrcProgram *_orc_program_orc_opposite_parity_5_tap_planar_yuv; static OrcProgram *_orc_program_orc_opposite_parity_5_tap_planar_yuv;
void void
orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1,
const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2,
const orc_uint8 * s5, int p2, int n) const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4,
const orc_uint8 * ORC_RESTRICT s5, int p2, int n)
{ {
OrcExecutor _ex, *ex = &_ex; OrcExecutor _ex, *ex = &_ex;
OrcProgram *p = _orc_program_orc_opposite_parity_5_tap_planar_yuv; OrcProgram *p = _orc_program_orc_opposite_parity_5_tap_planar_yuv;
@ -848,7 +875,6 @@ gst_fieldanalysis_orc_init (void)
{ {
/* orc_same_parity_sad_planar_yuv */ /* orc_same_parity_sad_planar_yuv */
OrcProgram *p; OrcProgram *p;
OrcCompileResult result;
p = orc_program_new (); p = orc_program_new ();
orc_program_set_name (p, "orc_same_parity_sad_planar_yuv"); orc_program_set_name (p, "orc_same_parity_sad_planar_yuv");
@ -879,14 +905,13 @@ gst_fieldanalysis_orc_init (void)
orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T3, ORC_VAR_D1, orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T3, ORC_VAR_D1,
ORC_VAR_D1); ORC_VAR_D1);
result = orc_program_compile (p); orc_program_compile (p);
_orc_program_orc_same_parity_sad_planar_yuv = p; _orc_program_orc_same_parity_sad_planar_yuv = p;
} }
{ {
/* orc_same_parity_ssd_planar_yuv */ /* orc_same_parity_ssd_planar_yuv */
OrcProgram *p; OrcProgram *p;
OrcCompileResult result;
p = orc_program_new (); p = orc_program_new ();
orc_program_set_name (p, "orc_same_parity_ssd_planar_yuv"); orc_program_set_name (p, "orc_same_parity_ssd_planar_yuv");
@ -915,14 +940,13 @@ gst_fieldanalysis_orc_init (void)
orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T3, ORC_VAR_D1, orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T3, ORC_VAR_D1,
ORC_VAR_D1); ORC_VAR_D1);
result = orc_program_compile (p); orc_program_compile (p);
_orc_program_orc_same_parity_ssd_planar_yuv = p; _orc_program_orc_same_parity_ssd_planar_yuv = p;
} }
{ {
/* orc_same_parity_3_tap_planar_yuv */ /* orc_same_parity_3_tap_planar_yuv */
OrcProgram *p; OrcProgram *p;
OrcCompileResult result;
p = orc_program_new (); p = orc_program_new ();
orc_program_set_name (p, "orc_same_parity_3_tap_planar_yuv"); orc_program_set_name (p, "orc_same_parity_3_tap_planar_yuv");
@ -983,14 +1007,13 @@ gst_fieldanalysis_orc_init (void)
orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T7, ORC_VAR_D1, orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T7, ORC_VAR_D1,
ORC_VAR_D1); ORC_VAR_D1);
result = orc_program_compile (p); orc_program_compile (p);
_orc_program_orc_same_parity_3_tap_planar_yuv = p; _orc_program_orc_same_parity_3_tap_planar_yuv = p;
} }
{ {
/* orc_opposite_parity_5_tap_planar_yuv */ /* orc_opposite_parity_5_tap_planar_yuv */
OrcProgram *p; OrcProgram *p;
OrcCompileResult result;
p = orc_program_new (); p = orc_program_new ();
orc_program_set_name (p, "orc_opposite_parity_5_tap_planar_yuv"); orc_program_set_name (p, "orc_opposite_parity_5_tap_planar_yuv");
@ -1048,7 +1071,7 @@ gst_fieldanalysis_orc_init (void)
orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T6, ORC_VAR_D1, orc_program_append_2 (p, "accl", 0, ORC_VAR_A1, ORC_VAR_T6, ORC_VAR_D1,
ORC_VAR_D1); ORC_VAR_D1);
result = orc_program_compile (p); orc_program_compile (p);
_orc_program_orc_opposite_parity_5_tap_planar_yuv = p; _orc_program_orc_opposite_parity_5_tap_planar_yuv = p;
} }

View file

@ -37,6 +37,7 @@ typedef unsigned __int16 orc_uint16;
typedef unsigned __int32 orc_uint32; typedef unsigned __int32 orc_uint32;
typedef unsigned __int64 orc_uint64; typedef unsigned __int64 orc_uint64;
#define ORC_UINT64_C(x) (x##Ui64) #define ORC_UINT64_C(x) (x##Ui64)
#define inline __inline
#else #else
#include <limits.h> #include <limits.h>
typedef signed char orc_int8; typedef signed char orc_int8;
@ -59,10 +60,19 @@ typedef union { orc_int16 i; orc_int8 x2[2]; } orc_union16;
typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32; typedef union { orc_int32 i; float f; orc_int16 x2[2]; orc_int8 x4[4]; } orc_union32;
typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16 x4[4]; } orc_union64; typedef union { orc_int64 i; double f; orc_int32 x2[2]; float x2f[2]; orc_int16 x4[4]; } orc_union64;
#endif #endif
void orc_same_parity_sad_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * s2, int p2, int n); #ifndef ORC_RESTRICT
void orc_same_parity_ssd_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * s2, int p2, int n); #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
void orc_same_parity_3_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, const orc_uint8 * s5, const orc_uint8 * s6, int p2, int n); #define ORC_RESTRICT restrict
void orc_opposite_parity_5_tap_planar_yuv (guint32 * a1, const orc_uint8 * s1, const orc_uint8 * s2, const orc_uint8 * s3, const orc_uint8 * s4, const orc_uint8 * s5, int p2, int n); #elif defined(__GNUC__) && __GNUC__ >= 4
#define ORC_RESTRICT __restrict__
#else
#define ORC_RESTRICT
#endif
#endif
void orc_same_parity_sad_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p2, int n);
void orc_same_parity_ssd_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, int p2, int n);
void orc_same_parity_3_tap_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5, const orc_uint8 * ORC_RESTRICT s6, int p2, int n);
void orc_opposite_parity_5_tap_planar_yuv (guint32 * ORC_RESTRICT a1, const orc_uint8 * ORC_RESTRICT s1, const orc_uint8 * ORC_RESTRICT s2, const orc_uint8 * ORC_RESTRICT s3, const orc_uint8 * ORC_RESTRICT s4, const orc_uint8 * ORC_RESTRICT s5, int p2, int n);
#ifdef __cplusplus #ifdef __cplusplus
} }