diff options
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | gst/deinterlace/tvtime-dist.c | 602 | ||||
-rw-r--r-- | gst/deinterlace/tvtime-dist.h | 8 | ||||
-rw-r--r-- | gst/videobox/gstvideoboxorc-dist.c | 57 | ||||
-rw-r--r-- | gst/videobox/gstvideoboxorc-dist.h | 8 | ||||
-rw-r--r-- | gst/videomixer/blendorc-dist.c | 268 | ||||
-rw-r--r-- | gst/videomixer/blendorc-dist.h | 8 | ||||
-rw-r--r-- | po/af.po | 2 | ||||
-rw-r--r-- | po/az.po | 2 | ||||
-rw-r--r-- | po/bg.po | 2 | ||||
-rw-r--r-- | po/ca.po | 2 | ||||
-rw-r--r-- | po/cs.po | 2 | ||||
-rw-r--r-- | po/da.po | 2 | ||||
-rw-r--r-- | po/de.po | 2 | ||||
-rw-r--r-- | po/el.po | 2 | ||||
-rw-r--r-- | po/en_GB.po | 2 | ||||
-rw-r--r-- | po/es.po | 2 | ||||
-rw-r--r-- | po/eu.po | 2 | ||||
-rw-r--r-- | po/fi.po | 2 | ||||
-rw-r--r-- | po/fr.po | 2 | ||||
-rw-r--r-- | po/hu.po | 2 | ||||
-rw-r--r-- | po/id.po | 2 | ||||
-rw-r--r-- | po/it.po | 2 | ||||
-rw-r--r-- | po/ja.po | 2 | ||||
-rw-r--r-- | po/lt.po | 2 | ||||
-rw-r--r-- | po/lv.po | 2 | ||||
-rw-r--r-- | po/mt.po | 2 | ||||
-rw-r--r-- | po/nb.po | 2 | ||||
-rw-r--r-- | po/nl.po | 2 | ||||
-rw-r--r-- | po/or.po | 2 | ||||
-rw-r--r-- | po/pl.po | 2 | ||||
-rw-r--r-- | po/pt_BR.po | 2 | ||||
-rw-r--r-- | po/ru.po | 2 | ||||
-rw-r--r-- | po/sk.po | 2 | ||||
-rw-r--r-- | po/sl.po | 2 | ||||
-rw-r--r-- | po/sq.po | 2 | ||||
-rw-r--r-- | po/sr.po | 2 | ||||
-rw-r--r-- | po/sv.po | 2 | ||||
-rw-r--r-- | po/tr.po | 2 | ||||
-rw-r--r-- | po/uk.po | 2 | ||||
-rw-r--r-- | po/vi.po | 2 | ||||
-rw-r--r-- | po/zh_CN.po | 2 | ||||
-rw-r--r-- | po/zh_HK.po | 2 | ||||
-rw-r--r-- | po/zh_TW.po | 2 |
44 files changed, 571 insertions, 456 deletions
diff --git a/configure.ac b/configure.ac index b277f6675..a474865c3 100644 --- a/configure.ac +++ b/configure.ac @@ -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) diff --git a/gst/deinterlace/tvtime-dist.c b/gst/deinterlace/tvtime-dist.c index ca871f9c2..48954c1b2 100644 --- a/gst/deinterlace/tvtime-dist.c +++ b/gst/deinterlace/tvtime-dist.c @@ -48,13 +48,22 @@ typedef unsigned long orc_uint64; #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 @@ -92,6 +101,17 @@ void deinterlace_line_linear_blend (guint8 * d1, const guint8 * s1, #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 */ @@ -103,35 +123,32 @@ deinterlace_line_vfir (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, const guint8 * s4, const guint8 * s5, int n) { int i; - orc_int8 var0; - orc_int8 *ptr0; - orc_int8 var4; - const orc_int8 *ptr4; - orc_int8 var5; - const orc_int8 *ptr5; - orc_int8 var6; - const orc_int8 *ptr6; - orc_int8 var7; - const orc_int8 *ptr7; - orc_int8 var8; - const orc_int8 *ptr8; - const orc_int16 var16 = 2; - const orc_int16 var17 = 1; - const orc_int16 var18 = 4; - const orc_int16 var19 = 3; - orc_int16 var32; - orc_int16 var33; - orc_int16 var34; - orc_int16 var35; - orc_int16 var36; - orc_int16 var37; - orc_int16 var38; - orc_int16 var39; - orc_int16 var40; - orc_int16 var41; - orc_int16 var42; - orc_int16 var43; - orc_int16 var44; + orc_int8 *ORC_RESTRICT ptr0; + const orc_int8 *ORC_RESTRICT ptr4; + const orc_int8 *ORC_RESTRICT ptr5; + const orc_int8 *ORC_RESTRICT ptr6; + const orc_int8 *ORC_RESTRICT ptr7; + const orc_int8 *ORC_RESTRICT ptr8; + orc_int8 var35; + orc_int8 var36; + orc_int8 var37; + orc_int8 var38; + orc_int8 var39; + orc_union16 var40; + orc_int8 var41; + orc_union16 var42; + orc_union16 var43; + orc_union16 var44; + orc_union16 var45; + orc_union16 var46; + orc_union16 var47; + orc_union16 var48; + orc_union16 var49; + orc_union16 var50; + orc_union16 var51; + orc_union16 var52; + orc_union16 var53; + orc_union16 var54; ptr0 = (orc_int8 *) d1; ptr4 = (orc_int8 *) s1; @@ -141,85 +158,84 @@ deinterlace_line_vfir (guint8 * d1, const guint8 * s1, const guint8 * s2, ptr8 = (orc_int8 *) s5; for (i = 0; i < n; i++) { - var4 = *ptr4; - ptr4++; - var5 = *ptr5; - ptr5++; - var6 = *ptr6; - ptr6++; - var7 = *ptr7; - ptr7++; - var8 = *ptr8; - ptr8++; - /* 0: convubw */ - var32 = (orc_uint8) var4; + /* 0: loadb */ + var35 = ptr4[i]; /* 1: convubw */ - var33 = (orc_uint8) var8; - /* 2: addw */ - var35 = var32 + var33; + var42.i = (orc_uint8) var35; + /* 2: loadb */ + var36 = ptr8[i]; /* 3: convubw */ - var36 = (orc_uint8) var5; - /* 4: convubw */ - var34 = (orc_uint8) var7; - /* 5: addw */ - var37 = var36 + var34; - /* 6: shlw */ - var38 = var37 << var16; - /* 7: convubw */ - var39 = (orc_uint8) var6; - /* 8: shlw */ - var40 = var39 << var17; - /* 9: subw */ - var41 = var38 - var35; - /* 10: addw */ - var42 = var41 + var40; - /* 11: addw */ - var43 = var42 + var18; - /* 12: shrsw */ - var44 = var43 >> var19; - /* 13: convsuswb */ - var0 = ORC_CLAMP_UB (var44); - *ptr0 = var0; - ptr0++; + var43.i = (orc_uint8) var36; + /* 4: addw */ + var44.i = var42.i + var43.i; + /* 5: loadb */ + var37 = ptr5[i]; + /* 6: convubw */ + var45.i = (orc_uint8) var37; + /* 7: loadb */ + var38 = ptr7[i]; + /* 8: convubw */ + var46.i = (orc_uint8) var38; + /* 9: addw */ + var47.i = var45.i + var46.i; + /* 10: shlw */ + var48.i = var47.i << 2; + /* 11: loadb */ + var39 = ptr6[i]; + /* 12: convubw */ + var49.i = (orc_uint8) var39; + /* 13: shlw */ + var50.i = var49.i << 1; + /* 14: subw */ + var51.i = var48.i - var44.i; + /* 15: addw */ + var52.i = var51.i + var50.i; + /* 16: loadpw */ + var40.i = 4; + /* 17: addw */ + var53.i = var52.i + var40.i; + /* 18: shrsw */ + var54.i = var53.i >> 3; + /* 19: convsuswb */ + var41 = ORC_CLAMP_UB (var54.i); + /* 20: storeb */ + ptr0[i] = var41; } } #else static void -_backup_deinterlace_line_vfir (OrcExecutor * ex) +_backup_deinterlace_line_vfir (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; - orc_int8 var0; - orc_int8 *ptr0; - orc_int8 var4; - const orc_int8 *ptr4; - orc_int8 var5; - const orc_int8 *ptr5; - orc_int8 var6; - const orc_int8 *ptr6; - orc_int8 var7; - const orc_int8 *ptr7; - orc_int8 var8; - const orc_int8 *ptr8; - const orc_int16 var16 = 2; - const orc_int16 var17 = 1; - const orc_int16 var18 = 4; - const orc_int16 var19 = 3; - orc_int16 var32; - orc_int16 var33; - orc_int16 var34; - orc_int16 var35; - orc_int16 var36; - orc_int16 var37; - orc_int16 var38; - orc_int16 var39; - orc_int16 var40; - orc_int16 var41; - orc_int16 var42; - orc_int16 var43; - orc_int16 var44; + orc_int8 *ORC_RESTRICT ptr0; + const orc_int8 *ORC_RESTRICT ptr4; + const orc_int8 *ORC_RESTRICT ptr5; + const orc_int8 *ORC_RESTRICT ptr6; + const orc_int8 *ORC_RESTRICT ptr7; + const orc_int8 *ORC_RESTRICT ptr8; + orc_int8 var35; + orc_int8 var36; + orc_int8 var37; + orc_int8 var38; + orc_int8 var39; + orc_union16 var40; + orc_int8 var41; + orc_union16 var42; + orc_union16 var43; + orc_union16 var44; + orc_union16 var45; + orc_union16 var46; + orc_union16 var47; + orc_union16 var48; + orc_union16 var49; + orc_union16 var50; + orc_union16 var51; + orc_union16 var52; + orc_union16 var53; + orc_union16 var54; ptr0 = (orc_int8 *) ex->arrays[0]; ptr4 = (orc_int8 *) ex->arrays[4]; @@ -229,46 +245,48 @@ _backup_deinterlace_line_vfir (OrcExecutor * ex) ptr8 = (orc_int8 *) ex->arrays[8]; for (i = 0; i < n; i++) { - var4 = *ptr4; - ptr4++; - var5 = *ptr5; - ptr5++; - var6 = *ptr6; - ptr6++; - var7 = *ptr7; - ptr7++; - var8 = *ptr8; - ptr8++; - /* 0: convubw */ - var32 = (orc_uint8) var4; + /* 0: loadb */ + var35 = ptr4[i]; /* 1: convubw */ - var33 = (orc_uint8) var8; - /* 2: addw */ - var35 = var32 + var33; + var42.i = (orc_uint8) var35; + /* 2: loadb */ + var36 = ptr8[i]; /* 3: convubw */ - var36 = (orc_uint8) var5; - /* 4: convubw */ - var34 = (orc_uint8) var7; - /* 5: addw */ - var37 = var36 + var34; - /* 6: shlw */ - var38 = var37 << var16; - /* 7: convubw */ - var39 = (orc_uint8) var6; - /* 8: shlw */ - var40 = var39 << var17; - /* 9: subw */ - var41 = var38 - var35; - /* 10: addw */ - var42 = var41 + var40; - /* 11: addw */ - var43 = var42 + var18; - /* 12: shrsw */ - var44 = var43 >> var19; - /* 13: convsuswb */ - var0 = ORC_CLAMP_UB (var44); - *ptr0 = var0; - ptr0++; + var43.i = (orc_uint8) var36; + /* 4: addw */ + var44.i = var42.i + var43.i; + /* 5: loadb */ + var37 = ptr5[i]; + /* 6: convubw */ + var45.i = (orc_uint8) var37; + /* 7: loadb */ + var38 = ptr7[i]; + /* 8: convubw */ + var46.i = (orc_uint8) var38; + /* 9: addw */ + var47.i = var45.i + var46.i; + /* 10: shlw */ + var48.i = var47.i << 2; + /* 11: loadb */ + var39 = ptr6[i]; + /* 12: convubw */ + var49.i = (orc_uint8) var39; + /* 13: shlw */ + var50.i = var49.i << 1; + /* 14: subw */ + var51.i = var48.i - var44.i; + /* 15: addw */ + var52.i = var51.i + var50.i; + /* 16: loadpw */ + var40.i = 4; + /* 17: addw */ + var53.i = var52.i + var40.i; + /* 18: shrsw */ + var54.i = var53.i >> 3; + /* 19: convsuswb */ + var41 = ORC_CLAMP_UB (var54.i); + /* 20: storeb */ + ptr0[i] = var41; } } @@ -296,28 +314,42 @@ deinterlace_line_vfir (guint8 * d1, const guint8 * s1, const guint8 * s2, orc_program_add_source (p, 1, "s3"); orc_program_add_source (p, 1, "s4"); orc_program_add_source (p, 1, "s5"); - orc_program_add_constant (p, 2, 2, "c1"); - orc_program_add_constant (p, 2, 1, "c2"); - orc_program_add_constant (p, 2, 4, "c3"); - orc_program_add_constant (p, 2, 3, "c4"); + orc_program_add_constant (p, 2, 0x00000002, "c1"); + orc_program_add_constant (p, 2, 0x00000001, "c2"); + orc_program_add_constant (p, 2, 0x00000004, "c3"); + orc_program_add_constant (p, 2, 0x00000003, "c4"); orc_program_add_temporary (p, 2, "t1"); orc_program_add_temporary (p, 2, "t2"); orc_program_add_temporary (p, 2, "t3"); - orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1); - orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S5, ORC_VAR_D1); - orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2); - orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1); - orc_program_append (p, "convubw", ORC_VAR_T3, ORC_VAR_S4, ORC_VAR_D1); - orc_program_append (p, "addw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3); - orc_program_append (p, "shlw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1); - orc_program_append (p, "convubw", ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1); - orc_program_append (p, "shlw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2); - orc_program_append (p, "subw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T1); - orc_program_append (p, "addw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3); - orc_program_append (p, "addw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C3); - orc_program_append (p, "shrsw", ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C4); - 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_S1, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S5, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2, + ORC_VAR_D1); + orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S4, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3, + ORC_VAR_D1); + orc_program_append_2 (p, "shlw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C1, + ORC_VAR_D1); + orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "shlw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_C2, + 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, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_T3, + ORC_VAR_D1); + orc_program_append_2 (p, "addw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C3, + ORC_VAR_D1); + orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T2, ORC_VAR_T2, ORC_VAR_C4, + 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); } @@ -347,56 +379,56 @@ deinterlace_line_linear (guint8 * d1, const guint8 * s1, const guint8 * s2, int n) { int i; - orc_int8 var0; - orc_int8 *ptr0; - orc_int8 var4; - const orc_int8 *ptr4; - orc_int8 var5; - const orc_int8 *ptr5; + orc_int8 *ORC_RESTRICT ptr0; + const orc_int8 *ORC_RESTRICT ptr4; + const orc_int8 *ORC_RESTRICT ptr5; + orc_int8 var32; + orc_int8 var33; + orc_int8 var34; ptr0 = (orc_int8 *) d1; ptr4 = (orc_int8 *) s1; ptr5 = (orc_int8 *) s2; for (i = 0; i < n; i++) { - var4 = *ptr4; - ptr4++; - var5 = *ptr5; - ptr5++; - /* 0: avgub */ - var0 = ((orc_uint8) var4 + (orc_uint8) var5 + 1) >> 1; - *ptr0 = var0; - ptr0++; + /* 0: loadb */ + var32 = ptr4[i]; + /* 1: loadb */ + var33 = ptr5[i]; + /* 2: avgub */ + var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1; + /* 3: storeb */ + ptr0[i] = var34; } } #else static void -_backup_deinterlace_line_linear (OrcExecutor * ex) +_backup_deinterlace_line_linear (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; - orc_int8 var0; - orc_int8 *ptr0; - orc_int8 var4; - const orc_int8 *ptr4; - orc_int8 var5; - const orc_int8 *ptr5; + orc_int8 *ORC_RESTRICT ptr0; + const orc_int8 *ORC_RESTRICT ptr4; + const orc_int8 *ORC_RESTRICT ptr5; + orc_int8 var32; + orc_int8 var33; + orc_int8 var34; ptr0 = (orc_int8 *) ex->arrays[0]; ptr4 = (orc_int8 *) ex->arrays[4]; ptr5 = (orc_int8 *) ex->arrays[5]; for (i = 0; i < n; i++) { - var4 = *ptr4; - ptr4++; - var5 = *ptr5; - ptr5++; - /* 0: avgub */ - var0 = ((orc_uint8) var4 + (orc_uint8) var5 + 1) >> 1; - *ptr0 = var0; - ptr0++; + /* 0: loadb */ + var32 = ptr4[i]; + /* 1: loadb */ + var33 = ptr5[i]; + /* 2: avgub */ + var34 = ((orc_uint8) var32 + (orc_uint8) var33 + 1) >> 1; + /* 3: storeb */ + ptr0[i] = var34; } } @@ -422,7 +454,8 @@ deinterlace_line_linear (guint8 * d1, const guint8 * s1, const guint8 * s2, orc_program_add_source (p, 1, "s1"); orc_program_add_source (p, 1, "s2"); - orc_program_append (p, "avgub", ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2); + orc_program_append_2 (p, "avgub", 0, ORC_VAR_D1, ORC_VAR_S1, ORC_VAR_S2, + ORC_VAR_D1); result = orc_program_compile (p); } @@ -449,24 +482,23 @@ deinterlace_line_linear_blend (guint8 * d1, const guint8 * s1, const guint8 * s2, const guint8 * s3, int n) { int i; - orc_int8 var0; - orc_int8 *ptr0; - orc_int8 var4; - const orc_int8 *ptr4; - orc_int8 var5; - const orc_int8 *ptr5; - orc_int8 var6; - const orc_int8 *ptr6; - const orc_int16 var16 = 2; - const orc_int16 var17 = 2; - orc_int16 var32; - orc_int16 var33; - orc_int16 var34; - orc_int16 var35; - orc_int16 var36; - orc_int16 var37; - orc_int16 var38; - orc_int16 var39; + orc_int8 *ORC_RESTRICT ptr0; + const orc_int8 *ORC_RESTRICT ptr4; + const orc_int8 *ORC_RESTRICT ptr5; + const orc_int8 *ORC_RESTRICT ptr6; + orc_int8 var35; + orc_int8 var36; + orc_int8 var37; + orc_union16 var38; + orc_int8 var39; + orc_union16 var40; + orc_union16 var41; + orc_union16 var42; + orc_union16 var43; + orc_union16 var44; + orc_union16 var45; + orc_union16 var46; + orc_union16 var47; ptr0 = (orc_int8 *) d1; ptr4 = (orc_int8 *) s1; @@ -474,60 +506,61 @@ deinterlace_line_linear_blend (guint8 * d1, const guint8 * s1, ptr6 = (orc_int8 *) s3; for (i = 0; i < n; i++) { - var4 = *ptr4; - ptr4++; - var5 = *ptr5; - ptr5++; - var6 = *ptr6; - ptr6++; - /* 0: convubw */ - var32 = (orc_uint8) var4; + /* 0: loadb */ + var35 = ptr4[i]; /* 1: convubw */ - var33 = (orc_uint8) var5; - /* 2: convubw */ - var34 = (orc_uint8) var6; - /* 3: addw */ - var35 = var32 + var33; - /* 4: addw */ - var36 = var34 + var34; - /* 5: addw */ - var37 = var35 + var36; + var40.i = (orc_uint8) var35; + /* 2: loadb */ + var36 = ptr5[i]; + /* 3: convubw */ + var41.i = (orc_uint8) var36; + /* 4: loadb */ + var37 = ptr6[i]; + /* 5: convubw */ + var42.i = (orc_uint8) var37; /* 6: addw */ - var38 = var37 + var16; - /* 7: shrsw */ - var39 = var38 >> var17; - /* 8: convsuswb */ - var0 = ORC_CLAMP_UB (var39); - *ptr0 = var0; - ptr0++; + var43.i = var40.i + var41.i; + /* 7: addw */ + var44.i = var42.i + var42.i; + /* 8: addw */ + var45.i = var43.i + var44.i; + /* 9: loadpw */ + var38.i = 2; + /* 10: addw */ + var46.i = var45.i + var38.i; + /* 11: shrsw */ + var47.i = var46.i >> 2; + /* 12: convsuswb */ + var39 = ORC_CLAMP_UB (var47.i); + /* 13: storeb */ + ptr0[i] = var39; } } #else static void -_backup_deinterlace_line_linear_blend (OrcExecutor * ex) +_backup_deinterlace_line_linear_blend (OrcExecutor * ORC_RESTRICT ex) { int i; int n = ex->n; - orc_int8 var0; - orc_int8 *ptr0; - orc_int8 var4; - const orc_int8 *ptr4; - orc_int8 var5; - const orc_int8 *ptr5; - orc_int8 var6; - const orc_int8 *ptr6; - const orc_int16 var16 = 2; - const orc_int16 var17 = 2; - orc_int16 var32; - orc_int16 var33; - orc_int16 var34; - orc_int16 var35; - orc_int16 var36; - orc_int16 var37; - orc_int16 var38; - orc_int16 var39; + orc_int8 *ORC_RESTRICT ptr0; + const orc_int8 *ORC_RESTRICT ptr4; + const orc_int8 *ORC_RESTRICT ptr5; + const orc_int8 *ORC_RESTRICT ptr6; + orc_int8 var35; + orc_int8 var36; + orc_int8 var37; + orc_union16 var38; + orc_int8 var39; + orc_union16 var40; + orc_union16 var41; + orc_union16 var42; + orc_union16 var43; + orc_union16 var44; + orc_union16 var45; + orc_union16 var46; + orc_union16 var47; ptr0 = (orc_int8 *) ex->arrays[0]; ptr4 = (orc_int8 *) ex->arrays[4]; @@ -535,32 +568,34 @@ _backup_deinterlace_line_linear_blend (OrcExecutor * ex) ptr6 = (orc_int8 *) ex->arrays[6]; for (i = 0; i < n; i++) { - var4 = *ptr4; - ptr4++; - var5 = *ptr5; - ptr5++; - var6 = *ptr6; - ptr6++; - /* 0: convubw */ - var32 = (orc_uint8) var4; + /* 0: loadb */ + var35 = ptr4[i]; /* 1: convubw */ - var33 = (orc_uint8) var5; - /* 2: convubw */ - var34 = (orc_uint8) var6; - /* 3: addw */ - var35 = var32 + var33; - /* 4: addw */ - var36 = var34 + var34; - /* 5: addw */ - var37 = var35 + var36; + var40.i = (orc_uint8) var35; + /* 2: loadb */ + var36 = ptr5[i]; + /* 3: convubw */ + var41.i = (orc_uint8) var36; + /* 4: loadb */ + var37 = ptr6[i]; + /* 5: convubw */ + var42.i = (orc_uint8) var37; /* 6: addw */ - var38 = var37 + var16; - /* 7: shrsw */ - var39 = var38 >> var17; - /* 8: convsuswb */ - var0 = ORC_CLAMP_UB (var39); - *ptr0 = var0; - ptr0++; + var43.i = var40.i + var41.i; + /* 7: addw */ + var44.i = var42.i + var42.i; + /* 8: addw */ + var45.i = var43.i + var44.i; + /* 9: loadpw */ + var38.i = 2; + /* 10: addw */ + var46.i = var45.i + var38.i; + /* 11: shrsw */ + var47.i = var46.i >> 2; + /* 12: convsuswb */ + var39 = ORC_CLAMP_UB (var47.i); + /* 13: storeb */ + ptr0[i] = var39; } } @@ -587,21 +622,30 @@ deinterlace_line_linear_blend (guint8 * d1, const guint8 * s1, orc_program_add_source (p, 1, "s1"); orc_program_add_source (p, 1, "s2"); orc_program_add_source (p, 1, "s3"); - orc_program_add_constant (p, 2, 2, "c1"); - orc_program_add_constant (p, 2, 2, "c2"); + orc_program_add_constant (p, 2, 0x00000002, "c1"); + orc_program_add_constant (p, 2, 0x00000002, "c2"); orc_program_add_temporary (p, 2, "t1"); orc_program_add_temporary (p, 2, "t2"); orc_program_add_temporary (p, 2, "t3"); - orc_program_append (p, "convubw", ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1); - orc_program_append (p, "convubw", ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1); - orc_program_append (p, "convubw", ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1); - orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2); - orc_program_append (p, "addw", ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T3); - orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T3); - orc_program_append (p, "addw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1); - orc_program_append (p, "shrsw", ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2); - orc_program_append (p, "convsuswb", ORC_VAR_D1, ORC_VAR_T1, ORC_VAR_D1); + orc_program_append_2 (p, "convubw", 0, ORC_VAR_T1, ORC_VAR_S1, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "convubw", 0, ORC_VAR_T2, ORC_VAR_S2, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "convubw", 0, ORC_VAR_T3, ORC_VAR_S3, ORC_VAR_D1, + ORC_VAR_D1); + orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T2, + ORC_VAR_D1); + orc_program_append_2 (p, "addw", 0, ORC_VAR_T3, ORC_VAR_T3, ORC_VAR_T3, + ORC_VAR_D1); + orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_T3, + ORC_VAR_D1); + orc_program_append_2 (p, "addw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C1, + ORC_VAR_D1); + orc_program_append_2 (p, "shrsw", 0, ORC_VAR_T1, ORC_VAR_T1, ORC_VAR_C2, + ORC_VAR_D1); + orc_program_append_2 (p, "convsuswb", 0, ORC_VAR_D1, ORC_VAR_T1, + ORC_VAR_D1, ORC_VAR_D1); result = orc_program_compile (p); } diff --git a/gst/deinterlace/tvtime-dist.h b/gst/deinterlace/tvtime-dist.h index 27be60be1..268188d24 100644 --- a/gst/deinterlace/tvtime-dist.h +++ b/gst/deinterlace/tvtime-dist.h @@ -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); diff --git a/gst/videobox/gstvideoboxorc-dist.c b/gst/videobox/gstvideoboxorc-dist.c index 49259b005..d50e1bcbd 100644 --- a/gst/videobox/gstvideoboxorc-dist.c +++ b/gst/videobox/gstvideoboxorc-dist.c @@ -48,13 +48,22 @@ typedef unsigned long orc_uint64; #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 var0; - orc_union32 *ptr0; - const int var24 = p1; + orc_union32 *ORC_RESTRICT ptr0; + 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 var0; - orc_union32 *ptr0; - const int var24 = ex->params[24]; + orc_union32 *ORC_RESTRICT ptr0; + 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); } diff --git a/gst/videobox/gstvideoboxorc-dist.h b/gst/videobox/gstvideoboxorc-dist.h index ab1fefd2f..596914c1b 100644 --- a/gst/videobox/gstvideoboxorc-dist.h +++ b/gst/videobox/gstvideoboxorc-dist.h @@ -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 diff --git a/gst/videomixer/blendorc-dist.c b/gst/videomixer/blendorc-dist.c index a22464e57..1a244a66e 100644 --- a/gst/videomixer/blendorc-dist.c +++ b/gst/videomixer/blendorc-dist.c @@ -48,13 +48,22 @@ typedef unsigned long orc_uint64; #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 var0; - orc_union32 *ptr0; - const int var24 = p1; + orc_union32 *ORC_RESTRICT ptr0; + 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 var0; - orc_union32 *ptr0; - const int var24 = ex->params[24]; + orc_union32 *ORC_RESTRICT ptr0; + 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 var0; - orc_union32 *ptr0; - orc_union32 var4; - const orc_union32 *ptr4; + orc_union32 *ORC_RESTRICT ptr0; + const orc_union32 *ORC_RESTRICT ptr4; + orc_union32 var32; + orc_union32 var33; ptr0 = (orc_union32 *) d1; ptr4 = (orc_union32 *) s1; for (i = 0; i < n; i++) { - var4 = *ptr4; - ptr4++; - /* 0: copyl */ - var0.i = var4.i; - *ptr0 = var0; - ptr0++; + /* 0: loadl */ + var32 = ptr4[i]; + /* 1: copyl */ + var33.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 var0; - orc_union32 *ptr0; - orc_union32 var4; - const orc_union32 *ptr4; + orc_union32 *ORC_RESTRICT ptr0; + const orc_union32 *ORC_RESTRICT ptr4; + orc_union32 var32; + orc_union32 var33; ptr0 = (orc_union32 *) ex->arrays[0]; ptr4 = (orc_union32 *) ex->arrays[4]; for (i = 0; i < n; i++) { - var4 = *ptr4; - ptr4++; - /* 0: copyl */ - var0.i = var4.i; - *ptr0 = var0; - ptr0++; + /* 0: loadl */ + var32 = ptr4[i]; + /* 1: copyl */ + var33.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 var0; - 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 ptr0; + const orc_int8 *ORC_RESTRICT ptr4; + orc_int8 var34; + 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 var0; - 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 ptr0; + const orc_int8 *ORC_RESTRICT ptr4; + orc_int8 var34; + 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, 0x00000008, "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); } diff --git a/gst/videomixer/blendorc-dist.h b/gst/videomixer/blendorc-dist.h index 4ddb04c7d..bb87cdb2f 100644 --- a/gst/videomixer/blendorc-dist.h +++ b/gst/videomixer/blendorc-dist.h @@ -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); @@ -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-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\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" @@ -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-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\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" @@ -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-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\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" @@ -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-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2005-12-04 21:54+0100\n" "Last-Translator: Jordi Mallach <jordi@sindominio.net>\n" "Language-Team: Catalan <ca@dodds.net>\n" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.23.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-07-15 01:34+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-07-11 20:26+0200\n" "Last-Translator: Petr Kovar <pknbe@volny.cz>\n" "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n" @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.22.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-07-07 00:30+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-06-17 23:54+0200\n" "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n" "Language-Team: Danish <dansk@dansk-gruppen.dk>\n" @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.22.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-05-23 23:02+0200\n" "Last-Translator: Christian Kirbach <christian.kirbach@googlemail.com>\n" "Language-Team: German <translation-team-de@lists.sourceforge.net>\n" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.16.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-07-07 00:30+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2009-12-04 14:37+0200\n" "Last-Translator: Simos Xenitellis <simos.lists@googlemail.com>\n" "Language-Team: Greek <team@lists.gnome.gr>\n" diff --git a/po/en_GB.po b/po/en_GB.po index 17a3aeb32..9dc508405 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins 0.8.1\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2004-04-26 10:41-0400\n" "Last-Translator: Gareth Owen <gowen72@yahoo.com>\n" "Language-Team: English (British) <en_gb@li.org>\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.22.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-07-07 00:30+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-06-23 08:23+0200\n" "Last-Translator: Jorge González González <aloriel@gmail.com>\n" "Language-Team: Spanish <es@li.org>\n" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.18.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-03-25 12:37+0100\n" "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n" "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n" @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.22.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-05-23 21:23+0300\n" "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n" "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n" @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.22.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-07-07 00:30+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-06-05 21:09+0200\n" "Last-Translator: Claude Paroz <claude@2xlibre.net>\n" "Language-Team: French <traduc@traduc.org>\n" @@ -8,7 +8,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-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-02-01 12:46+0100\n" "Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n" "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.23.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-07-07 00:30+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-06-29 22:42+0700\n" "Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n" "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.22.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-05-21 09:52+0200\n" "Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n" "Language-Team: Italian <tp@lists.linux.it>\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.14.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2009-06-01 19:29+0900\n" "Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n" "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.7.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2008-07-09 13:37+0300\n" "Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n" "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.23.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-07-15 01:34+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-07-07 11:53+0100\n" "Last-Translator: Rihards Priedītis <rprieditis@gmail.com>\n" "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n" @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.10.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2008-10-26 19:09+0100\n" "Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n" "Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.6\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2007-11-03 14:42+0100\n" "Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n" "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.16.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2009-11-15 22:55+0100\n" "Last-Translator: Freek de Kruijf <f.de.kruijf@hetnet.nl>\n" "Language-Team: Dutch <vertaling@vrijschrift.org>\n" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-0.8.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2004-09-27 13:32+0530\n" "Last-Translator: Gora Mohanty <gora_mohanty@yahoo.co.in>\n" "Language-Team: Oriya <gora_mohanty@yahoo.co.in>\n" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.22.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-05-20 08:18+0200\n" "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n" "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" diff --git a/po/pt_BR.po b/po/pt_BR.po index 0303395c8..46aac09fd 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.23.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-07-07 00:30+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-06-28 21:00-0300\n" "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n" "Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.13.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2009-02-12 14:35+0200\n" "Last-Translator: Pavel Maryanov <acid_jack@ukr.net>\n" "Language-Team: Russian <gnu@mx.ru>\n" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.16.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2009-11-13 10:28+0100\n" "Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n" "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n" @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.23.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-07-07 00:30+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-07-01 17:40+0100\n" "Last-Translator: Matej Urbančič <matej.urban@gmail.com>\n" "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins 0.8.3\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2004-08-07 20:29+0200\n" "Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n" "Language-Team: Albanian <begraj@hotmail.com>\n" @@ -6,7 +6,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-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2004-03-13 00:18+0100\n" "Last-Translator: Danilo Segan <dsegan@gmx.net>\n" "Language-Team: Serbian <gnu@prevod.org>\n" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.22.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-05-25 09:09+0100\n" "Last-Translator: Daniel Nylander <po@danielnylander.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.23.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-07-07 00:30+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-07-03 16:51+0200\n" "Last-Translator: Server Acim <serveracim@gmail.com>\n" "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.6\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2007-07-05 15:40+0200\n" "Last-Translator: Maxim V. Dziumanenko <dziumanenko@gmail.com>\n" "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.21.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2010-04-27 22:48+0930\n" "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" diff --git a/po/zh_CN.po b/po/zh_CN.po index 7e84f8c97..2c6aa000f 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good 0.10.16.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-07-07 00:30+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2009-11-13 22:20+0800\n" "Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" diff --git a/po/zh_HK.po b/po/zh_HK.po index 15120ab3b..5593f7cd4 100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2006-08-29 01:08+0800\n" "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n" "Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n" diff --git a/po/zh_TW.po b/po/zh_TW.po index ca51e2d23..be215c7fa 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gst-plugins-good-0.10.2 0.10.2\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n" -"POT-Creation-Date: 2010-06-26 18:27+0100\n" +"POT-Creation-Date: 2010-08-21 21:26+0200\n" "PO-Revision-Date: 2006-08-29 01:08+0800\n" "Last-Translator: Abel Cheung <abelcheung@gmail.com>\n" "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n" |