Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
gst-plugins-good
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Marc-André Lureau
gst-plugins-good
Commits
9e981f6c
Commit
9e981f6c
authored
Aug 21, 2010
by
Sebastian Dröge
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
0.10.24.4 pre-release
parent
95d1b932
Changes
44
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
44 changed files
with
571 additions
and
456 deletions
+571
-456
configure.ac
configure.ac
+1
-1
gst/deinterlace/tvtime-dist.c
gst/deinterlace/tvtime-dist.c
+323
-279
gst/deinterlace/tvtime-dist.h
gst/deinterlace/tvtime-dist.h
+5
-3
gst/videobox/gstvideoboxorc-dist.c
gst/videobox/gstvideoboxorc-dist.c
+41
-16
gst/videobox/gstvideoboxorc-dist.h
gst/videobox/gstvideoboxorc-dist.h
+5
-3
gst/videomixer/blendorc-dist.c
gst/videomixer/blendorc-dist.c
+154
-114
gst/videomixer/blendorc-dist.h
gst/videomixer/blendorc-dist.h
+5
-3
po/af.po
po/af.po
+1
-1
po/az.po
po/az.po
+1
-1
po/bg.po
po/bg.po
+1
-1
po/ca.po
po/ca.po
+1
-1
po/cs.po
po/cs.po
+1
-1
po/da.po
po/da.po
+1
-1
po/de.po
po/de.po
+1
-1
po/el.po
po/el.po
+1
-1
po/en_GB.po
po/en_GB.po
+1
-1
po/es.po
po/es.po
+1
-1
po/eu.po
po/eu.po
+1
-1
po/fi.po
po/fi.po
+1
-1
po/fr.po
po/fr.po
+1
-1
po/hu.po
po/hu.po
+1
-1
po/id.po
po/id.po
+1
-1
po/it.po
po/it.po
+1
-1
po/ja.po
po/ja.po
+1
-1
po/lt.po
po/lt.po
+1
-1
po/lv.po
po/lv.po
+1
-1
po/mt.po
po/mt.po
+1
-1
po/nb.po
po/nb.po
+1
-1
po/nl.po
po/nl.po
+1
-1
po/or.po
po/or.po
+1
-1
po/pl.po
po/pl.po
+1
-1
po/pt_BR.po
po/pt_BR.po
+1
-1
po/ru.po
po/ru.po
+1
-1
po/sk.po
po/sk.po
+1
-1
po/sl.po
po/sl.po
+1
-1
po/sq.po
po/sq.po
+1
-1
po/sr.po
po/sr.po
+1
-1
po/sv.po
po/sv.po
+1
-1
po/tr.po
po/tr.po
+1
-1
po/uk.po
po/uk.po
+1
-1
po/vi.po
po/vi.po
+1
-1
po/zh_CN.po
po/zh_CN.po
+1
-1
po/zh_HK.po
po/zh_HK.po
+1
-1
po/zh_TW.po
po/zh_TW.po
+1
-1
No files found.
configure.ac
View file @
9e981f6c
...
...
@@ -5,7 +5,7 @@ dnl please read gstreamer/docs/random/autotools before changing this file
dnl initialize autoconf
dnl releases only do -Wall, git and prerelease does -Werror too
dnl use a three digit version number for releases, and four for git/pre
AC_INIT(GStreamer Good Plug-ins, 0.10.24.
3
,
AC_INIT(GStreamer Good Plug-ins, 0.10.24.
4
,
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gst-plugins-good)
...
...
gst/deinterlace/tvtime-dist.c
View file @
9e981f6c
This diff is collapsed.
Click to expand it.
gst/deinterlace/tvtime-dist.h
View file @
9e981f6c
...
...
@@ -10,6 +10,8 @@
extern
"C"
{
#endif
#ifndef _ORC_INTEGER_TYPEDEFS_
#define _ORC_INTEGER_TYPEDEFS_
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
...
...
@@ -47,10 +49,10 @@ typedef long orc_int64;
typedef
unsigned
long
orc_uint64
;
#endif
#endif
typedef
union
{
orc_int32
i
;
float
f
;
}
orc_union32
;
typedef
union
{
orc_int64
i
;
double
f
;
}
orc_union64
;
typedef
union
{
orc_int16
i
;
orc_int8
x2
[
2
];
}
orc_union16
;
typedef
union
{
orc_int32
i
;
float
f
;
orc_int16
x2
[
2
];
orc_int8
x4
[
4
];
}
orc_union32
;
typedef
union
{
orc_int64
i
;
double
f
;
orc_int32
x2
[
2
];
orc_int16
x4
[
4
];
}
orc_union64
;
#endif
void
deinterlace_line_vfir
(
guint8
*
d1
,
const
guint8
*
s1
,
const
guint8
*
s2
,
const
guint8
*
s3
,
const
guint8
*
s4
,
const
guint8
*
s5
,
int
n
);
void
deinterlace_line_linear
(
guint8
*
d1
,
const
guint8
*
s1
,
const
guint8
*
s2
,
int
n
);
void
deinterlace_line_linear_blend
(
guint8
*
d1
,
const
guint8
*
s1
,
const
guint8
*
s2
,
const
guint8
*
s3
,
int
n
);
...
...
gst/videobox/gstvideoboxorc-dist.c
View file @
9e981f6c
...
...
@@ -47,14 +47,23 @@ typedef unsigned long orc_uint64;
#endif
#endif
typedef
union
{
orc_int16
i
;
orc_int8
x2
[
2
];
}
orc_union16
;
typedef
union
{
orc_int32
i
;
float
f
;
orc_int16
x2
[
2
];
orc_int8
x4
[
4
];
}
orc_union32
;
typedef
union
{
orc_int64
i
;
double
f
;
orc_int32
x2
[
2
];
orc_int16
x4
[
4
];
}
orc_union64
;
#endif
...
...
@@ -87,6 +96,17 @@ void orc_splat_u32 (guint32 * d1, int p1, int n);
#define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
#define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
#define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
#define ORC_MIN_NORMAL (1.1754944909521339405e-38)
#define ORC_DENORMAL(x) (((x) > -ORC_MIN_NORMAL && (x) < ORC_MIN_NORMAL) ? ((x)<0 ? (-0.0f) : (0.0f)) : (x))
#define ORC_MINF(a,b) (isnan(a) ? a : isnan(b) ? b : ((a)<(b)) ? (a) : (b))
#define ORC_MAXF(a,b) (isnan(a) ? a : isnan(b) ? b : ((a)>(b)) ? (a) : (b))
#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
/* end Orc C target preamble */
...
...
@@ -97,38 +117,42 @@ void
orc_splat_u32
(
guint32
*
d1
,
int
p1
,
int
n
)
{
int
i
;
orc_union32
va
r0
;
orc_union32
*
ptr0
;
const
int
var24
=
p1
;
orc_union32
*
ORC_RESTRICT
pt
r0
;
orc_union32
var32
;
orc_union32
var33
;
ptr0
=
(
orc_union32
*
)
d1
;
for
(
i
=
0
;
i
<
n
;
i
++
)
{
/* 0: copyl */
var0
.
i
=
var24
;
*
ptr0
=
var0
;
ptr0
++
;
/* 0: loadpl */
var32
.
i
=
p1
;
/* 1: copyl */
var33
.
i
=
var32
.
i
;
/* 2: storel */
ptr0
[
i
]
=
var33
;
}
}
#else
static
void
_backup_orc_splat_u32
(
OrcExecutor
*
ex
)
_backup_orc_splat_u32
(
OrcExecutor
*
ORC_RESTRICT
ex
)
{
int
i
;
int
n
=
ex
->
n
;
orc_union32
va
r0
;
orc_union32
*
ptr0
;
const
int
var24
=
ex
->
params
[
24
]
;
orc_union32
*
ORC_RESTRICT
pt
r0
;
orc_union32
var32
;
orc_union32
var33
;
ptr0
=
(
orc_union32
*
)
ex
->
arrays
[
0
];
for
(
i
=
0
;
i
<
n
;
i
++
)
{
/* 0: copyl */
var0
.
i
=
var24
;
*
ptr0
=
var0
;
ptr0
++
;
/* 0: loadpl */
var32
.
i
=
ex
->
params
[
24
];
/* 1: copyl */
var33
.
i
=
var32
.
i
;
/* 2: storel */
ptr0
[
i
]
=
var33
;
}
}
...
...
@@ -152,7 +176,8 @@ orc_splat_u32 (guint32 * d1, int p1, int n)
orc_program_add_destination
(
p
,
4
,
"d1"
);
orc_program_add_parameter
(
p
,
4
,
"p1"
);
orc_program_append
(
p
,
"copyl"
,
ORC_VAR_D1
,
ORC_VAR_P1
,
ORC_VAR_D1
);
orc_program_append_2
(
p
,
"copyl"
,
0
,
ORC_VAR_D1
,
ORC_VAR_P1
,
ORC_VAR_D1
,
ORC_VAR_D1
);
result
=
orc_program_compile
(
p
);
}
...
...
gst/videobox/gstvideoboxorc-dist.h
View file @
9e981f6c
...
...
@@ -10,6 +10,8 @@
extern
"C"
{
#endif
#ifndef _ORC_INTEGER_TYPEDEFS_
#define _ORC_INTEGER_TYPEDEFS_
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
...
...
@@ -47,10 +49,10 @@ typedef long orc_int64;
typedef
unsigned
long
orc_uint64
;
#endif
#endif
typedef
union
{
orc_int32
i
;
float
f
;
}
orc_union32
;
typedef
union
{
orc_int64
i
;
double
f
;
}
orc_union64
;
typedef
union
{
orc_int16
i
;
orc_int8
x2
[
2
];
}
orc_union16
;
typedef
union
{
orc_int32
i
;
float
f
;
orc_int16
x2
[
2
];
orc_int8
x4
[
4
];
}
orc_union32
;
typedef
union
{
orc_int64
i
;
double
f
;
orc_int32
x2
[
2
];
orc_int16
x4
[
4
];
}
orc_union64
;
#endif
void
orc_splat_u32
(
guint32
*
d1
,
int
p1
,
int
n
);
#ifdef __cplusplus
...
...
gst/videomixer/blendorc-dist.c
View file @
9e981f6c
...
...
@@ -47,14 +47,23 @@ typedef unsigned long orc_uint64;
#endif
#endif
typedef
union
{
orc_int16
i
;
orc_int8
x2
[
2
];
}
orc_union16
;
typedef
union
{
orc_int32
i
;
float
f
;
orc_int16
x2
[
2
];
orc_int8
x4
[
4
];
}
orc_union32
;
typedef
union
{
orc_int64
i
;
double
f
;
orc_int32
x2
[
2
];
orc_int16
x4
[
4
];
}
orc_union64
;
#endif
...
...
@@ -90,6 +99,17 @@ void orc_blend_u8 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride,
#define ORC_SWAP_W(x) ((((x)&0xff)<<8) | (((x)&0xff00)>>8))
#define ORC_SWAP_L(x) ((((x)&0xff)<<24) | (((x)&0xff00)<<8) | (((x)&0xff0000)>>8) | (((x)&0xff000000)>>24))
#define ORC_PTR_OFFSET(ptr,offset) ((void *)(((unsigned char *)(ptr)) + (offset)))
#define ORC_MIN_NORMAL (1.1754944909521339405e-38)
#define ORC_DENORMAL(x) (((x) > -ORC_MIN_NORMAL && (x) < ORC_MIN_NORMAL) ? ((x)<0 ? (-0.0f) : (0.0f)) : (x))
#define ORC_MINF(a,b) (isnan(a) ? a : isnan(b) ? b : ((a)<(b)) ? (a) : (b))
#define ORC_MAXF(a,b) (isnan(a) ? a : isnan(b) ? b : ((a)>(b)) ? (a) : (b))
#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
/* end Orc C target preamble */
...
...
@@ -100,38 +120,42 @@ void
orc_splat_u32
(
guint32
*
d1
,
int
p1
,
int
n
)
{
int
i
;
orc_union32
va
r0
;
orc_union32
*
ptr0
;
const
int
var24
=
p1
;
orc_union32
*
ORC_RESTRICT
pt
r0
;
orc_union32
var32
;
orc_union32
var33
;
ptr0
=
(
orc_union32
*
)
d1
;
for
(
i
=
0
;
i
<
n
;
i
++
)
{
/* 0: copyl */
var0
.
i
=
var24
;
*
ptr0
=
var0
;
ptr0
++
;
/* 0: loadpl */
var32
.
i
=
p1
;
/* 1: copyl */
var33
.
i
=
var32
.
i
;
/* 2: storel */
ptr0
[
i
]
=
var33
;
}
}
#else
static
void
_backup_orc_splat_u32
(
OrcExecutor
*
ex
)
_backup_orc_splat_u32
(
OrcExecutor
*
ORC_RESTRICT
ex
)
{
int
i
;
int
n
=
ex
->
n
;
orc_union32
va
r0
;
orc_union32
*
ptr0
;
const
int
var24
=
ex
->
params
[
24
]
;
orc_union32
*
ORC_RESTRICT
pt
r0
;
orc_union32
var32
;
orc_union32
var33
;
ptr0
=
(
orc_union32
*
)
ex
->
arrays
[
0
];
for
(
i
=
0
;
i
<
n
;
i
++
)
{
/* 0: copyl */
var0
.
i
=
var24
;
*
ptr0
=
var0
;
ptr0
++
;
/* 0: loadpl */
var32
.
i
=
ex
->
params
[
24
];
/* 1: copyl */
var33
.
i
=
var32
.
i
;
/* 2: storel */
ptr0
[
i
]
=
var33
;
}
}
...
...
@@ -155,7 +179,8 @@ orc_splat_u32 (guint32 * d1, int p1, int n)
orc_program_add_destination
(
p
,
4
,
"d1"
);
orc_program_add_parameter
(
p
,
4
,
"p1"
);
orc_program_append
(
p
,
"copyl"
,
ORC_VAR_D1
,
ORC_VAR_P1
,
ORC_VAR_D1
);
orc_program_append_2
(
p
,
"copyl"
,
0
,
ORC_VAR_D1
,
ORC_VAR_P1
,
ORC_VAR_D1
,
ORC_VAR_D1
);
result
=
orc_program_compile
(
p
);
}
...
...
@@ -180,46 +205,46 @@ void
orc_memcpy_u32
(
guint32
*
d1
,
const
guint32
*
s1
,
int
n
)
{
int
i
;
orc_union32
va
r0
;
orc_union32
*
ptr0
;
orc_union32
var
4
;
const
orc_union32
*
ptr4
;
orc_union32
*
ORC_RESTRICT
pt
r0
;
const
orc_union32
*
ORC_RESTRICT
ptr4
;
orc_union32
var
32
;
orc_union32
var33
;
ptr0
=
(
orc_union32
*
)
d1
;
ptr4
=
(
orc_union32
*
)
s1
;
for
(
i
=
0
;
i
<
n
;
i
++
)
{
var4
=
*
ptr4
;
ptr4
++
;
/*
0
: copyl */
var
0
.
i
=
var4
.
i
;
*
ptr0
=
var0
;
ptr0
++
;
/* 0: loadl */
var32
=
ptr4
[
i
]
;
/*
1
: copyl */
var
33
.
i
=
var32
.
i
;
/* 2: storel */
ptr0
[
i
]
=
var33
;
}
}
#else
static
void
_backup_orc_memcpy_u32
(
OrcExecutor
*
ex
)
_backup_orc_memcpy_u32
(
OrcExecutor
*
ORC_RESTRICT
ex
)
{
int
i
;
int
n
=
ex
->
n
;
orc_union32
va
r0
;
orc_union32
*
ptr0
;
orc_union32
var
4
;
const
orc_union32
*
ptr4
;
orc_union32
*
ORC_RESTRICT
pt
r0
;
const
orc_union32
*
ORC_RESTRICT
ptr4
;
orc_union32
var
32
;
orc_union32
var33
;
ptr0
=
(
orc_union32
*
)
ex
->
arrays
[
0
];
ptr4
=
(
orc_union32
*
)
ex
->
arrays
[
4
];
for
(
i
=
0
;
i
<
n
;
i
++
)
{
var4
=
*
ptr4
;
ptr4
++
;
/*
0
: copyl */
var
0
.
i
=
var4
.
i
;
*
ptr0
=
var0
;
ptr0
++
;
/* 0: loadl */
var32
=
ptr4
[
i
]
;
/*
1
: copyl */
var
33
.
i
=
var32
.
i
;
/* 2: storel */
ptr0
[
i
]
=
var33
;
}
}
...
...
@@ -243,7 +268,8 @@ orc_memcpy_u32 (guint32 * d1, const guint32 * s1, int n)
orc_program_add_destination
(
p
,
4
,
"d1"
);
orc_program_add_source
(
p
,
4
,
"s1"
);
orc_program_append
(
p
,
"copyl"
,
ORC_VAR_D1
,
ORC_VAR_S1
,
ORC_VAR_D1
);
orc_program_append_2
(
p
,
"copyl"
,
0
,
ORC_VAR_D1
,
ORC_VAR_S1
,
ORC_VAR_D1
,
ORC_VAR_D1
);
result
=
orc_program_compile
(
p
);
}
...
...
@@ -270,46 +296,49 @@ orc_blend_u8 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride,
{
int
i
;
int
j
;
orc_int8
va
r0
;
orc_int8
*
ptr0
;
orc_int8
var4
;
const
orc_int8
*
ptr4
;
const
orc_int8
var16
=
8
;
const
int
var24
=
p1
;
orc_
int16
var32
;
orc_
int16
var33
;
orc_
int16
var34
;
orc_
int16
var35
;
orc_
int16
var36
;
orc_
int16
var37
;
orc_
int16
var38
;
orc_int8
*
ORC_RESTRICT
pt
r0
;
const
orc_int8
*
ORC_RESTRICT
ptr4
;
orc_int8
var
3
4
;
orc_int8
var35
;
orc_union16
var36
;
orc_int8
var37
;
orc_
union16
var38
;
orc_
union16
var39
;
orc_
union16
var40
;
orc_
union16
var41
;
orc_
union16
var42
;
orc_
union16
var43
;
orc_
union16
var44
;
for
(
j
=
0
;
j
<
m
;
j
++
)
{
ptr0
=
ORC_PTR_OFFSET
(
d1
,
d1_stride
*
j
);
ptr4
=
ORC_PTR_OFFSET
(
s1
,
s1_stride
*
j
);
for
(
i
=
0
;
i
<
n
;
i
++
)
{
var0
=
*
ptr0
;
var4
=
*
ptr4
;
ptr4
++
;
/* 0: convubw */
var32
=
(
orc_uint8
)
var0
;
/* 0: loadb */
var34
=
ptr0
[
i
];
/* 1: convubw */
var33
=
(
orc_uint8
)
var4
;
/* 2: subw */
var34
=
var33
-
var32
;
/* 3: mullw */
var35
=
(
var34
*
var24
)
&
0xffff
;
/* 4: shlw */
var36
=
var32
<<
var16
;
/* 5: addw */
var37
=
var36
+
var35
;
/* 6: shruw */
var38
=
((
orc_uint16
)
var37
)
>>
var16
;
/* 7: convsuswb */
var0
=
ORC_CLAMP_UB
(
var38
);
*
ptr0
=
var0
;
ptr0
++
;
var38
.
i
=
(
orc_uint8
)
var34
;
/* 2: loadb */
var35
=
ptr4
[
i
];
/* 3: convubw */
var39
.
i
=
(
orc_uint8
)
var35
;
/* 4: subw */
var40
.
i
=
var39
.
i
-
var38
.
i
;
/* 5: loadpw */
var36
.
i
=
p1
;
/* 6: mullw */
var41
.
i
=
(
var40
.
i
*
var36
.
i
)
&
0xffff
;
/* 7: shlw */
var42
.
i
=
var38
.
i
<<
8
;
/* 8: addw */
var43
.
i
=
var42
.
i
+
var41
.
i
;
/* 9: shruw */
var44
.
i
=
((
orc_uint16
)
var43
.
i
)
>>
8
;
/* 10: convsuswb */
var37
=
ORC_CLAMP_UB
(
var44
.
i
);
/* 11: storeb */
ptr0
[
i
]
=
var37
;
}
}
...
...
@@ -317,52 +346,55 @@ orc_blend_u8 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride,
#else
static
void
_backup_orc_blend_u8
(
OrcExecutor
*
ex
)
_backup_orc_blend_u8
(
OrcExecutor
*
ORC_RESTRICT
ex
)
{
int
i
;
int
j
;
int
n
=
ex
->
n
;
int
m
=
ex
->
params
[
ORC_VAR_A1
];
orc_int8
va
r0
;
orc_int8
*
ptr0
;
orc_int8
var4
;
const
orc_int8
*
ptr4
;
const
orc_int8
var16
=
8
;
const
int
var24
=
ex
->
params
[
24
]
;
orc_
int16
var32
;
orc_
int16
var33
;
orc_
int16
var34
;
orc_
int16
var35
;
orc_
int16
var36
;
orc_
int16
var37
;
orc_
int16
var38
;
orc_int8
*
ORC_RESTRICT
pt
r0
;
const
orc_int8
*
ORC_RESTRICT
ptr4
;
orc_int8
var
3
4
;
orc_int8
var35
;
orc_union16
var36
;
orc_int8
var37
;
orc_
union16
var38
;
orc_
union16
var39
;
orc_
union16
var40
;
orc_
union16
var41
;
orc_
union16
var42
;
orc_
union16
var43
;
orc_
union16
var44
;
for
(
j
=
0
;
j
<
m
;
j
++
)
{
ptr0
=
ORC_PTR_OFFSET
(
ex
->
arrays
[
0
],
ex
->
params
[
0
]
*
j
);
ptr4
=
ORC_PTR_OFFSET
(
ex
->
arrays
[
4
],
ex
->
params
[
4
]
*
j
);
for
(
i
=
0
;
i
<
n
;
i
++
)
{
var0
=
*
ptr0
;
var4
=
*
ptr4
;
ptr4
++
;
/* 0: convubw */
var32
=
(
orc_uint8
)
var0
;
/* 0: loadb */
var34
=
ptr0
[
i
];
/* 1: convubw */
var33
=
(
orc_uint8
)
var4
;
/* 2: subw */
var34
=
var33
-
var32
;
/* 3: mullw */
var35
=
(
var34
*
var24
)
&
0xffff
;
/* 4: shlw */
var36
=
var32
<<
var16
;
/* 5: addw */
var37
=
var36
+
var35
;
/* 6: shruw */
var38
=
((
orc_uint16
)
var37
)
>>
var16
;
/* 7: convsuswb */
var0
=
ORC_CLAMP_UB
(
var38
);
*
ptr0
=
var0
;
ptr0
++
;
var38
.
i
=
(
orc_uint8
)
var34
;
/* 2: loadb */
var35
=
ptr4
[
i
];
/* 3: convubw */
var39
.
i
=
(
orc_uint8
)
var35
;
/* 4: subw */
var40
.
i
=
var39
.
i
-
var38
.
i
;
/* 5: loadpw */
var36
.
i
=
ex
->
params
[
24
];
/* 6: mullw */
var41
.
i
=
(
var40
.
i
*
var36
.
i
)
&
0xffff
;
/* 7: shlw */
var42
.
i
=
var38
.
i
<<
8
;
/* 8: addw */
var43
.
i
=
var42
.
i
+
var41
.
i
;
/* 9: shruw */
var44
.
i
=
((
orc_uint16
)
var43
.
i
)
>>
8
;
/* 10: convsuswb */
var37
=
ORC_CLAMP_UB
(
var44
.
i
);
/* 11: storeb */
ptr0
[
i
]
=
var37
;
}
}
...
...
@@ -388,19 +420,27 @@ orc_blend_u8 (guint8 * d1, int d1_stride, const guint8 * s1, int s1_stride,
orc_program_set_backup_function
(
p
,
_backup_orc_blend_u8
);
orc_program_add_destination
(
p
,
1
,
"d1"
);
orc_program_add_source
(
p
,
1
,
"s1"
);
orc_program_add_constant
(
p
,
1
,
8
,
"c1"
);
orc_program_add_constant
(
p
,
1
,
0x0000000
8
,
"c1"
);
orc_program_add_parameter
(
p
,
2
,
"p1"
);
orc_program_add_temporary
(
p
,
2
,
"t1"
);
orc_program_add_temporary
(
p
,
2
,
"t2"
);
orc_program_append
(
p
,
"convubw"
,
ORC_VAR_T1
,
ORC_VAR_D1
,
ORC_VAR_D1
);
orc_program_append
(
p
,
"convubw"
,
ORC_VAR_T2
,
ORC_VAR_S1
,
ORC_VAR_D1
);
orc_program_append
(
p
,
"subw"
,
ORC_VAR_T2
,
ORC_VAR_T2
,
ORC_VAR_T1
);
orc_program_append
(
p
,
"mullw"
,
ORC_VAR_T2
,
ORC_VAR_T2
,
ORC_VAR_P1
);
orc_program_append
(
p
,
"shlw"
,
ORC_VAR_T1
,
ORC_VAR_T1
,
ORC_VAR_C1
);
orc_program_append
(
p
,
"addw"
,
ORC_VAR_T2
,
ORC_VAR_T1
,
ORC_VAR_T2
);
orc_program_append
(
p
,
"shruw"
,
ORC_VAR_T2
,
ORC_VAR_T2
,
ORC_VAR_C1
);
orc_program_append
(
p
,
"convsuswb"
,
ORC_VAR_D1
,
ORC_VAR_T2
,
ORC_VAR_D1
);
orc_program_append_2
(
p
,
"convubw"
,
0
,
ORC_VAR_T1
,
ORC_VAR_D1
,
ORC_VAR_D1
,
ORC_VAR_D1
);
orc_program_append_2
(
p
,
"convubw"
,
0
,
ORC_VAR_T2
,
ORC_VAR_S1
,
ORC_VAR_D1
,
ORC_VAR_D1
);
orc_program_append_2
(
p
,
"subw"
,
0
,
ORC_VAR_T2
,
ORC_VAR_T2
,
ORC_VAR_T1
,
ORC_VAR_D1
);
orc_program_append_2
(
p
,
"mullw"
,
0
,
ORC_VAR_T2
,
ORC_VAR_T2
,
ORC_VAR_P1
,
ORC_VAR_D1
);
orc_program_append_2
(
p
,
"shlw"
,
0
,
ORC_VAR_T1
,
ORC_VAR_T1
,
ORC_VAR_C1
,
ORC_VAR_D1
);
orc_program_append_2
(
p
,
"addw"
,
0
,
ORC_VAR_T2
,
ORC_VAR_T1
,
ORC_VAR_T2
,
ORC_VAR_D1
);
orc_program_append_2
(
p
,
"shruw"
,
0
,
ORC_VAR_T2
,
ORC_VAR_T2
,
ORC_VAR_C1
,
ORC_VAR_D1
);
orc_program_append_2
(
p
,
"convsuswb"
,
0
,
ORC_VAR_D1
,
ORC_VAR_T2
,
ORC_VAR_D1
,
ORC_VAR_D1
);
result
=
orc_program_compile
(
p
);
}
...
...
gst/videomixer/blendorc-dist.h
View file @
9e981f6c
...
...
@@ -10,6 +10,8 @@
extern
"C"
{
#endif
#ifndef _ORC_INTEGER_TYPEDEFS_
#define _ORC_INTEGER_TYPEDEFS_
#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
...
...
@@ -47,10 +49,10 @@ typedef long orc_int64;
typedef
unsigned
long
orc_uint64
;
#endif
#endif
typedef
union
{
orc_int32
i
;
float
f
;
}
orc_union32
;
typedef
union
{
orc_int64
i
;
double
f
;
}
orc_union64
;
typedef
union
{
orc_int16
i
;
orc_int8
x2
[
2
];
}
orc_union16
;
typedef
union
{
orc_int32
i
;
float
f
;
orc_int16
x2
[
2
];
orc_int8
x4
[
4
];
}
orc_union32
;
typedef
union
{
orc_int64
i
;
double
f
;
orc_int32
x2
[
2
];
orc_int16
x4
[
4
];
}
orc_union64
;
#endif
void
orc_splat_u32
(
guint32
*
d1
,
int
p1
,
int
n
);
void
orc_memcpy_u32
(
guint32
*
d1
,
const
guint32
*
s1
,
int
n
);
void
orc_blend_u8
(
guint8
*
d1
,
int
d1_stride
,
const
guint8
*
s1
,
int
s1_stride
,
int
p1
,
int
n
,
int
m
);
...
...
po/af.po
View file @
9e981f6c
...
...
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins 0.7.6\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2010-0
6-26 18:27+01
00\n"
"POT-Creation-Date: 2010-0
8-21 21:26+02
00\n"
"PO-Revision-Date: 2004-03-18 14:16+0200\n"
"Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n"
"Language-Team: Afrikaans <i18n@af.org.za>\n"
...
...
po/az.po
View file @
9e981f6c
...
...
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-0.8.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2010-0
6-26 18:27+01
00\n"
"POT-Creation-Date: 2010-0
8-21 21:26+02
00\n"
"PO-Revision-Date: 2004-03-19 18:29+0200\n"
"Last-Translator: Metin Amiroff <metin@karegen.com>\n"
"Language-Team: Azerbaijani <translation-team-az@lists.sourceforge.net>\n"
...
...
po/bg.po
View file @
9e981f6c
...
...
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2010-0
6-26 18:27+01
00\n"
"POT-Creation-Date: 2010-0
8-21 21:26+02
00\n"
"PO-Revision-Date: 2010-01-29 14:49+0200\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
...
...
po/ca.po
View file @
9e981f6c
...
...
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 0.9.7\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2010-0
6-26 18:27+01
00\n"
"POT-Creation-Date: 2010-0
8-21 21:26+02
00\n"