summaryrefslogtreecommitdiffstats
path: root/gst/smpte
diff options
context:
space:
mode:
Diffstat (limited to 'gst/smpte')
-rw-r--r--gst/smpte/barboxwipes.c545
-rw-r--r--gst/smpte/gstmask.c9
-rw-r--r--gst/smpte/paint.c67
-rw-r--r--gst/smpte/paint.h5
4 files changed, 351 insertions, 275 deletions
diff --git a/gst/smpte/barboxwipes.c b/gst/smpte/barboxwipes.c
index 5a710189..e1cab9d0 100644
--- a/gst/smpte/barboxwipes.c
+++ b/gst/smpte/barboxwipes.c
@@ -24,7 +24,8 @@ enum
{
BOX_VERTICAL = 1,
BOX_HORIZONTAL = 2,
- TRIGANLE_LINEAR = 3,
+ BOX_CLOCK = 3,
+ TRIGANLE_LINEAR = 4,
};
static gint boxes_1b[][7] =
@@ -45,6 +46,184 @@ static gint boxes_2b[][7*2] =
BOX_HORIZONTAL, 0, 1, 0, 2, 2, 1 },
};
+static gint box_clock_1b[][1*10] =
+{
+#define WIPE_B1_241 0
+ { BOX_CLOCK, 0, 0, 0, 1, 0, 0, 0, 1, 1 },
+#define WIPE_B1_242 1
+ { BOX_CLOCK, 0, 1, 0, 1, 1, 0, 0, 0, 1 },
+#define WIPE_B1_243 2
+ { BOX_CLOCK, 1, 1, 0, 0, 1, 0, 1, 0, 1 },
+#define WIPE_B1_244 3
+ { BOX_CLOCK, 1, 0, 0, 0, 0, 0, 1, 1, 1 },
+};
+
+#define WIPE_B2_221 0
+static gint box_clock_2b[][2*10] =
+{
+#define WIPE_B2_221 0
+ { BOX_CLOCK, 1, 0, 0, 2, 0, 0, 1, 2, 1,
+ BOX_CLOCK, 1, 0, 0, 1, 2, 1, 0, 0, 2 },
+#define WIPE_B2_222 1
+ { BOX_CLOCK, 2, 1, 0, 2, 2, 0, 0, 1, 1,
+ BOX_CLOCK, 2, 1, 0, 0, 1, 1, 2, 0, 2 },
+#define WIPE_B2_223 2
+ { BOX_CLOCK, 1, 2, 0, 0, 2, 0, 1, 0, 1,
+ BOX_CLOCK, 1, 2, 0, 1, 0, 1, 2, 2, 2 },
+#define WIPE_B2_224 3
+ { BOX_CLOCK, 0, 1, 0, 0, 0, 0, 2, 1, 1,
+ BOX_CLOCK, 0, 1, 0, 2, 1, 1, 0, 2, 2 },
+#define WIPE_B2_225 4
+ { BOX_CLOCK, 1, 0, 0, 2, 0, 0, 1, 2, 1,
+ BOX_CLOCK, 1, 2, 0, 0, 2, 0, 1, 0, 1 },
+#define WIPE_B2_226 5
+ { BOX_CLOCK, 0, 1, 0, 0, 0, 0, 2, 1, 1,
+ BOX_CLOCK, 2, 1, 0, 2, 2, 0, 0, 1, 1 },
+#define WIPE_B2_231 6
+ { BOX_CLOCK, 1, 0, 0, 1, 2, 0, 2, 0, 1,
+ BOX_CLOCK, 1, 0, 0, 1, 2, 0, 0, 0, 1 },
+#define WIPE_B2_232 7
+ { BOX_CLOCK, 2, 1, 0, 0, 1, 0, 2, 0, 1,
+ BOX_CLOCK, 2, 1, 0, 0, 1, 0, 2, 2, 1 },
+#define WIPE_B2_233 8
+ { BOX_CLOCK, 1, 2, 0, 1, 0, 0, 2, 2, 1,
+ BOX_CLOCK, 1, 2, 0, 1, 0, 0, 0, 2, 1 },
+#define WIPE_B2_234 9
+ { BOX_CLOCK, 0, 1, 0, 2, 1, 0, 0, 0, 1,
+ BOX_CLOCK, 0, 1, 0, 2, 1, 0, 0, 2, 1 },
+#define WIPE_B2_251 10
+ { BOX_CLOCK, 0, 0, 0, 1, 0, 0, 0, 2, 1,
+ BOX_CLOCK, 2, 0, 0, 1, 0, 0, 2, 2, 1 },
+#define WIPE_B2_252 11
+ { BOX_CLOCK, 0, 0, 0, 0, 1, 0, 2, 0, 1,
+ BOX_CLOCK, 0, 2, 0, 0, 1, 0, 2, 2, 1 },
+#define WIPE_B2_253 12
+ { BOX_CLOCK, 0, 2, 0, 1, 2, 0, 0, 0, 1,
+ BOX_CLOCK, 2, 2, 0, 1, 2, 0, 2, 0, 1 },
+#define WIPE_B2_254 13
+ { BOX_CLOCK, 2, 0, 0, 2, 1, 0, 0, 0, 1,
+ BOX_CLOCK, 2, 2, 0, 2, 1, 0, 0, 2, 1 },
+};
+
+static gint box_clock_4b[][4*10] =
+{
+#define WIPE_B4_201 0
+ { BOX_CLOCK, 1, 1, 0, 1, 0, 0, 2, 1, 1,
+ BOX_CLOCK, 1, 1, 0, 2, 1, 1, 1, 2, 2,
+ BOX_CLOCK, 1, 1, 0, 1, 2, 2, 0, 1, 3,
+ BOX_CLOCK, 1, 1, 0, 0, 1, 3, 1, 0, 4 },
+#define WIPE_B4_202 1
+ { BOX_CLOCK, 1, 1, 0, 1, 0, 3, 2, 1, 4,
+ BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 2, 1,
+ BOX_CLOCK, 1, 1, 0, 1, 2, 1, 0, 1, 2,
+ BOX_CLOCK, 1, 1, 0, 0, 1, 2, 1, 0, 3 },
+#define WIPE_B4_203 2
+ { BOX_CLOCK, 1, 1, 0, 1, 0, 2, 2, 1, 3,
+ BOX_CLOCK, 1, 1, 0, 2, 1, 3, 1, 2, 4,
+ BOX_CLOCK, 1, 1, 0, 1, 2, 0, 0, 1, 1,
+ BOX_CLOCK, 1, 1, 0, 0, 1, 1, 1, 0, 2 },
+#define WIPE_B4_204 3
+ { BOX_CLOCK, 1, 1, 0, 1, 0, 1, 2, 1, 2,
+ BOX_CLOCK, 1, 1, 0, 2, 1, 2, 1, 2, 3,
+ BOX_CLOCK, 1, 1, 0, 1, 2, 3, 0, 1, 4,
+ BOX_CLOCK, 1, 1, 0, 0, 1, 0, 1, 0, 1 },
+#define WIPE_B4_205 4
+ { BOX_CLOCK, 1, 1, 0, 1, 0, 0, 2, 1, 1,
+ BOX_CLOCK, 1, 1, 0, 2, 1, 1, 1, 2, 2,
+ BOX_CLOCK, 1, 1, 0, 1, 2, 0, 0, 1, 1,
+ BOX_CLOCK, 1, 1, 0, 0, 1, 1, 1, 0, 2 },
+#define WIPE_B4_206 5
+ { BOX_CLOCK, 1, 1, 0, 1, 0, 1, 2, 1, 2,
+ BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 2, 1,
+ BOX_CLOCK, 1, 1, 0, 1, 2, 1, 0, 1, 2,
+ BOX_CLOCK, 1, 1, 0, 0, 1, 0, 1, 0, 1 },
+#define WIPE_B4_207 6
+ { BOX_CLOCK, 1, 1, 0, 1, 0, 0, 2, 1, 1,
+ BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 2, 1,
+ BOX_CLOCK, 1, 1, 0, 1, 2, 0, 0, 1, 1,
+ BOX_CLOCK, 1, 1, 0, 0, 1, 0, 1, 0, 1 },
+#define WIPE_B4_211 7
+ { BOX_CLOCK, 1, 1, 0, 1, 0, 0, 2, 1, 1,
+ BOX_CLOCK, 1, 1, 0, 2, 1, 1, 1, 2, 2,
+ BOX_CLOCK, 1, 1, 0, 1, 0, 0, 0, 1, 1,
+ BOX_CLOCK, 1, 1, 0, 0, 1, 1, 1, 2, 2 },
+#define WIPE_B4_212 8
+ { BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 0, 1,
+ BOX_CLOCK, 1, 1, 0, 1, 0, 1, 0, 1, 2,
+ BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 2, 1,
+ BOX_CLOCK, 1, 1, 0, 1, 2, 1, 0, 1, 2 },
+#define WIPE_B4_213 9
+ { BOX_CLOCK, 1, 1, 0, 1, 0, 0, 2, 1, 1,
+ BOX_CLOCK, 1, 1, 0, 1, 0, 0, 0, 1, 1,
+ BOX_CLOCK, 1, 1, 0, 1, 2, 0, 2, 1, 1,
+ BOX_CLOCK, 1, 1, 0, 1, 2, 0, 0, 1, 1 },
+#define WIPE_B4_214 10
+ { BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 0, 1,
+ BOX_CLOCK, 1, 1, 0, 2, 1, 0, 1, 2, 1,
+ BOX_CLOCK, 1, 1, 0, 0, 1, 0, 1, 0, 1,
+ BOX_CLOCK, 1, 1, 0, 0, 1, 0, 1, 2, 1 },
+#define WIPE_B4_227 11
+ { BOX_CLOCK, 1, 0, 0, 2, 0, 0, 1, 1, 1,
+ BOX_CLOCK, 1, 0, 0, 1, 1, 1, 0, 0, 2,
+ BOX_CLOCK, 1, 2, 0, 2, 2, 0, 1, 1, 1,
+ BOX_CLOCK, 1, 2, 0, 1, 1, 1, 0, 2, 2 },
+#define WIPE_B4_228 12
+ { BOX_CLOCK, 0, 1, 0, 0, 0, 0, 1, 1, 1,
+ BOX_CLOCK, 0, 1, 0, 1, 1, 1, 0, 2, 2,
+ BOX_CLOCK, 2, 1, 0, 2, 0, 0, 1, 1, 1,
+ BOX_CLOCK, 2, 1, 0, 1, 1, 1, 2, 2, 2 },
+#define WIPE_B4_235 13
+ { BOX_CLOCK, 1, 0, 0, 1, 1, 0, 0, 0, 1,
+ BOX_CLOCK, 1, 0, 0, 1, 1, 0, 2, 0, 1,
+ BOX_CLOCK, 1, 2, 0, 1, 1, 0, 2, 2, 1,
+ BOX_CLOCK, 1, 2, 0, 1, 1, 0, 0, 2, 1 },
+#define WIPE_B4_236 14
+ { BOX_CLOCK, 0, 1, 0, 1, 1, 0, 0, 0, 1,
+ BOX_CLOCK, 0, 1, 0, 1, 1, 0, 0, 2, 1,
+ BOX_CLOCK, 2, 1, 0, 1, 1, 0, 2, 0, 1,
+ BOX_CLOCK, 2, 1, 0, 1, 1, 0, 2, 2, 1 },
+};
+
+static gint box_clock_8b[][8*10] =
+{
+#define WIPE_B8_261 0
+ { BOX_CLOCK, 2, 1, 0, 2, 2, 0, 4, 1, 1,
+ BOX_CLOCK, 2, 1, 0, 4, 1, 1, 2, 0, 2,
+ BOX_CLOCK, 2, 1, 0, 2, 0, 2, 0, 1, 3,
+ BOX_CLOCK, 2, 1, 0, 0, 1, 3, 2, 2, 4,
+ BOX_CLOCK, 2, 3, 0, 2, 2, 0, 4, 3, 1,
+ BOX_CLOCK, 2, 3, 0, 4, 3, 1, 2, 4, 2,
+ BOX_CLOCK, 2, 3, 0, 2, 4, 2, 0, 3, 3,
+ BOX_CLOCK, 2, 3, 0, 0, 3, 3, 2, 2, 4 },
+#define WIPE_B8_262 1
+ { BOX_CLOCK, 1, 2, 0, 2, 2, 0, 1, 0, 1,
+ BOX_CLOCK, 1, 2, 0, 1, 0, 1, 0, 2, 2,
+ BOX_CLOCK, 1, 2, 0, 0, 2, 2, 1, 4, 3,
+ BOX_CLOCK, 1, 2, 0, 1, 4, 3, 2, 2, 4,
+ BOX_CLOCK, 3, 2, 0, 2, 2, 0, 3, 0, 1,
+ BOX_CLOCK, 3, 2, 0, 3, 0, 1, 4, 2, 2,
+ BOX_CLOCK, 3, 2, 0, 4, 2, 2, 3, 4, 3,
+ BOX_CLOCK, 3, 2, 0, 3, 4, 3, 2, 2, 4 },
+#define WIPE_B8_263 2
+ { BOX_CLOCK, 2, 1, 0, 2, 0, 0, 4, 1, 1,
+ BOX_CLOCK, 2, 1, 0, 4, 1, 1, 2, 2, 2,
+ BOX_CLOCK, 2, 1, 0, 2, 0, 0, 0, 1, 1,
+ BOX_CLOCK, 2, 1, 0, 0, 1, 1, 2, 2, 2,
+ BOX_CLOCK, 2, 3, 0, 2, 4, 0, 4, 3, 1,
+ BOX_CLOCK, 2, 3, 0, 4, 3, 1, 2, 2, 2,
+ BOX_CLOCK, 2, 3, 0, 2, 4, 0, 0, 3, 1,
+ BOX_CLOCK, 2, 3, 0, 0, 3, 1, 2, 2, 2 },
+#define WIPE_B8_264 3
+ { BOX_CLOCK, 1, 2, 0, 0, 2, 0, 1, 0, 1,
+ BOX_CLOCK, 1, 2, 0, 1, 0, 1, 2, 2, 2,
+ BOX_CLOCK, 1, 2, 0, 0, 2, 0, 1, 4, 1,
+ BOX_CLOCK, 1, 2, 0, 1, 4, 1, 2, 2, 2,
+ BOX_CLOCK, 3, 2, 0, 4, 2, 0, 3, 0, 1,
+ BOX_CLOCK, 3, 2, 0, 3, 0, 1, 2, 2, 2,
+ BOX_CLOCK, 3, 2, 0, 4, 2, 0, 3, 4, 1,
+ BOX_CLOCK, 3, 2, 0, 3, 4, 1, 2, 2, 2 },
+};
+
static gint triangles_2t[][2*9] =
{
/* 3 -> 6 */
@@ -72,19 +251,7 @@ static gint triangles_2t[][2*9] =
#define WIPE_T2_46 WIPE_T2_45+1
{ 0, 0, 0, 1, 0, 1, 1, 1, 0,
0, 0, 0, 0, 1, 1, 1, 1, 0 },
-#define WIPE_T2_241 WIPE_T2_46+1
- { 0, 0, 0, 1, 0, 0, 1, 1, 1,
- 0, 0, 0, 1, 1, 1, 0, 1, 2 },
-#define WIPE_T2_242 WIPE_T2_241+1
- { 0, 1, 0, 1, 1, 0, 1, 0, 1,
- 0, 1, 0, 1, 0, 1, 0, 0, 2 },
-#define WIPE_T2_243 WIPE_T2_242+1
- { 1, 1, 0, 0, 1, 0, 0, 0, 1,
- 1, 1, 0, 0, 0, 1, 1, 0, 2 },
-#define WIPE_T2_244 WIPE_T2_243+1
- { 1, 0, 0, 0, 0, 0, 0, 1, 1,
- 1, 0, 0, 0, 1, 1, 1, 1, 2 },
-#define WIPE_T2_245 WIPE_T2_244+1
+#define WIPE_T2_245 WIPE_T2_46+1
{ 0, 0, 0, 2, 0, 0, 2, 2, 1,
2, 2, 0, 0, 2, 0, 0, 0, 1 },
#define WIPE_T2_246 WIPE_T2_245+1
@@ -111,22 +278,6 @@ static gint triangles_3t[][3*9] =
{ 0, 0, 1, 2, 0, 1, 0, 1, 0,
2, 0, 1, 0, 1, 0, 2, 2, 1,
0, 1, 0, 0, 2, 1, 2, 2, 1 },
-#define WIPE_T3_221 4
- { 1, 0, 0, 2, 0, 0, 2, 2, 1,
- 1, 0, 0, 2, 2, 1, 0, 2, 3,
- 1, 0, 0, 0, 2, 3, 0, 0, 4 },
-#define WIPE_T3_222 5
- { 2, 1, 0, 2, 2, 0, 0, 2, 1,
- 2, 1, 0, 0, 2, 1, 0, 0, 3,
- 2, 1, 0, 0, 0, 3, 2, 0, 4 },
-#define WIPE_T3_223 6
- { 1, 2, 0, 0, 2, 0, 0, 0, 1,
- 1, 2, 0, 0, 0, 1, 2, 0, 3,
- 1, 2, 0, 2, 0, 3, 2, 2, 4 },
-#define WIPE_T3_224 7
- { 0, 1, 0, 0, 0, 0, 2, 0, 1,
- 0, 1, 0, 2, 0, 1, 2, 2, 3,
- 0, 1, 0, 2, 2, 3, 0, 2, 4 },
};
static gint triangles_4t[][4*9] =
@@ -176,111 +327,8 @@ static gint triangles_4t[][4*9] =
0, 0, 1, 1, 1, 0, 0, 2, 1,
1, 1, 0, 0, 2, 1, 2, 2, 1,
2, 0, 1, 1, 1, 0, 2, 2, 1 },
-#define WIPE_T4_231 9
- { 1, 0, 0, 1, 2, 0, 2, 2, 1,
- 1, 0, 0, 2, 2, 1, 2, 0, 2,
- 1, 0, 0, 1, 2, 0, 0, 2, 1,
- 1, 0, 0, 0, 2, 1, 0, 0, 2 },
-#define WIPE_T4_232 10
- { 2, 1, 0, 0, 1, 0, 0, 0, 1,
- 2, 1, 0, 0, 0, 1, 2, 0, 2,
- 2, 1, 0, 0, 1, 0, 0, 2, 1,
- 2, 1, 0, 0, 2, 1, 2, 2, 2 },
-#define WIPE_T4_233 11
- { 1, 2, 0, 1, 0, 0, 2, 0, 1,
- 1, 2, 0, 2, 0, 1, 2, 2, 2,
- 1, 2, 0, 1, 0, 0, 0, 0, 1,
- 1, 2, 0, 0, 0, 1, 0, 2, 2 },
-#define WIPE_T4_234 12
- { 0, 1, 0, 2, 1, 0, 2, 0, 1,
- 0, 1, 0, 2, 0, 1, 0, 0, 2,
- 0, 1, 0, 2, 1, 0, 2, 2, 1,
- 0, 1, 0, 2, 2, 1, 0, 2, 2 },
-#define WIPE_T4_225 13
- { 1, 0, 0, 2, 0, 0, 2, 2, 1,
- 1, 0, 0, 2, 2, 1, 1, 2, 2,
- 1, 2, 0, 0, 2, 0, 0, 0, 1,
- 1, 2, 0, 0, 0, 1, 1, 0, 2 },
-#define WIPE_T4_226 14
- { 0, 1, 0, 0, 0, 0, 2, 0, 1,
- 0, 1, 0, 2, 0, 1, 2, 1, 2,
- 2, 1, 0, 2, 2, 0, 0, 2, 1,
- 2, 1, 0, 0, 2, 1, 0, 1, 2 },
-};
-
-static gint triangles_5t[][5*9] =
-{
-#define WIPE_T5_201 0
- { 1, 1, 0, 1, 0, 0, 2, 0, 1,
- 1, 1, 0, 2, 0, 1, 2, 2, 3,
- 1, 1, 0, 2, 2, 3, 0, 2, 5,
- 1, 1, 0, 0, 2, 5, 0, 0, 7,
- 1, 1, 0, 0, 0, 7, 1, 0, 8 },
-#define WIPE_T5_202 1
- { 1, 1, 0, 2, 1, 0, 2, 2, 1,
- 1, 1, 0, 2, 2, 1, 0, 2, 3,
- 1, 1, 0, 0, 2, 3, 0, 0, 5,
- 1, 1, 0, 0, 0, 5, 2, 0, 7,
- 1, 1, 0, 2, 0, 7, 2, 1, 8 },
-#define WIPE_T5_203 2
- { 1, 1, 0, 1, 2, 0, 0, 2, 1,
- 1, 1, 0, 0, 2, 1, 0, 0, 3,
- 1, 1, 0, 0, 0, 3, 2, 0, 5,
- 1, 1, 0, 2, 0, 5, 2, 2, 7,
- 1, 1, 0, 2, 2, 7, 1, 2, 8 },
-#define WIPE_T5_204 3
- { 1, 1, 0, 0, 1, 0, 0, 0, 1,
- 1, 1, 0, 0, 0, 1, 2, 0, 3,
- 1, 1, 0, 2, 0, 3, 2, 2, 5,
- 1, 1, 0, 2, 2, 5, 0, 2, 7,
- 1, 1, 0, 0, 2, 7, 0, 1, 8 },
};
-static gint triangles_6t[][6*9] =
-{
-#define WIPE_T6_205 0
- { 1, 1, 0, 1, 0, 0, 2, 0, 1,
- 1, 1, 0, 2, 0, 1, 2, 2, 3,
- 1, 1, 0, 2, 2, 3, 1, 2, 4,
- 1, 1, 0, 1, 2, 0, 0, 2, 1,
- 1, 1, 0, 0, 2, 1, 0, 0, 3,
- 1, 1, 0, 0, 0, 3, 1, 0, 4 },
-#define WIPE_T6_206 1
- { 1, 1, 0, 2, 1, 0, 2, 2, 1,
- 1, 1, 0, 2, 2, 1, 0, 2, 3,
- 1, 1, 0, 0, 2, 3, 0, 1, 4,
- 1, 1, 0, 0, 1, 0, 0, 0, 1,
- 1, 1, 0, 0, 0, 1, 2, 0, 3,
- 1, 1, 0, 2, 0, 3, 2, 1, 4 },
-#define WIPE_T6_211 2
- { 1, 1, 0, 1, 0, 0, 2, 0, 1,
- 1, 1, 0, 2, 0, 1, 2, 2, 3,
- 1, 1, 0, 2, 2, 3, 1, 2, 4,
- 1, 1, 0, 1, 0, 0, 0, 0, 1,
- 1, 1, 0, 0, 0, 1, 0, 2, 3,
- 1, 1, 0, 0, 2, 3, 1, 2, 4 },
-#define WIPE_T6_212 3
- { 1, 1, 0, 2, 1, 0, 2, 2, 1,
- 1, 1, 0, 2, 2, 1, 0, 2, 3,
- 1, 1, 0, 0, 2, 3, 0, 1, 4,
- 1, 1, 0, 2, 1, 0, 2, 0, 1,
- 1, 1, 0, 2, 0, 1, 0, 0, 3,
- 1, 1, 0, 0, 0, 3, 0, 1, 4 },
-#define WIPE_T6_227 4
- { 1, 0, 0, 2, 0, 0, 2, 1, 1,
- 1, 0, 0, 2, 1, 1, 0, 1, 3,
- 1, 0, 0, 0, 1, 3, 0, 0, 4,
- 1, 2, 0, 2, 2, 0, 2, 1, 1,
- 1, 2, 0, 2, 1, 1, 0, 1, 3,
- 1, 2, 0, 0, 1, 3, 0, 2, 4 },
-#define WIPE_T6_228 5
- { 0, 1, 0, 0, 0, 0, 1, 0, 1,
- 0, 1, 0, 1, 0, 1, 1, 2, 3,
- 0, 1, 0, 1, 2, 3, 0, 2, 4,
- 2, 1, 0, 2, 0, 0, 1, 0, 1,
- 2, 1, 0, 1, 0, 1, 1, 2, 3,
- 2, 1, 0, 1, 2, 3, 2, 2, 4 },
-};
static gint triangles_8t[][8*9] =
{
/* 7 */
@@ -329,51 +377,6 @@ static gint triangles_8t[][8*9] =
0, 1, 0, 0, 2, 1, 1, 2, 0,
1, 1, 1, 2, 1, 0, 1, 2, 0,
2, 1, 0, 1, 2, 0, 2, 2, 1 },
-#define WIPE_T8_207 5
- { 1, 1, 0, 1, 0, 0, 2, 0, 1,
- 1, 1, 0, 2, 0, 1, 2, 1, 2,
- 1, 1, 0, 2, 1, 0, 2, 2, 1,
- 1, 1, 0, 2, 2, 1, 1, 2, 2,
- 1, 1, 0, 1, 2, 0, 0, 2, 1,
- 1, 1, 0, 0, 2, 1, 0, 1, 2,
- 1, 1, 0, 0, 1, 0, 0, 0, 1,
- 1, 1, 0, 0, 0, 1, 1, 0, 2 },
-#define WIPE_T8_213 6
- { 1, 1, 0, 1, 0, 0, 2, 0, 1,
- 1, 1, 0, 2, 0, 1, 2, 1, 2,
- 1, 1, 0, 1, 2, 0, 2, 2, 1,
- 1, 1, 0, 2, 2, 1, 2, 1, 2,
- 1, 1, 0, 1, 2, 0, 0, 2, 1,
- 1, 1, 0, 0, 2, 1, 0, 1, 2,
- 1, 1, 0, 1, 0, 0, 0, 0, 1,
- 1, 1, 0, 0, 0, 1, 0, 1, 2 },
-#define WIPE_T8_214 7
- { 1, 1, 0, 2, 1, 0, 2, 0, 1,
- 1, 1, 0, 2, 0, 1, 1, 0, 2,
- 1, 1, 0, 2, 1, 0, 2, 2, 1,
- 1, 1, 0, 2, 2, 1, 1, 2, 2,
- 1, 1, 0, 0, 1, 0, 0, 2, 1,
- 1, 1, 0, 0, 2, 1, 1, 2, 2,
- 1, 1, 0, 0, 1, 0, 0, 0, 1,
- 1, 1, 0, 0, 0, 1, 1, 0, 2 },
-#define WIPE_T8_235 8
- { 1, 0, 0, 1, 1, 0, 2, 1, 1,
- 1, 0, 0, 2, 1, 1, 2, 0, 2,
- 1, 0, 0, 1, 1, 0, 0, 1, 1,
- 1, 0, 0, 0, 1, 1, 0, 0, 2,
- 1, 2, 0, 1, 1, 0, 2, 1, 1,
- 1, 2, 0, 2, 1, 1, 2, 2, 2,
- 1, 2, 0, 1, 1, 0, 0, 1, 1,
- 1, 2, 0, 0, 1, 1, 0, 2, 2 },
-#define WIPE_T8_236 9
- { 0, 1, 0, 1, 1, 0, 1, 0, 1,
- 0, 1, 0, 1, 0, 1, 0, 0, 2,
- 0, 1, 0, 1, 1, 0, 1, 2, 1,
- 0, 1, 0, 1, 2, 1, 0, 2, 2,
- 2, 1, 0, 1, 1, 0, 1, 0, 1,
- 2, 1, 0, 1, 0, 1, 2, 0, 2,
- 2, 1, 0, 1, 1, 0, 1, 2, 1,
- 2, 1, 0, 1, 2, 1, 2, 2, 2 },
};
static gint triangles_16t[][16*9] =
@@ -475,67 +478,84 @@ static GstWipeConfig wipe_config[] =
#define WIPE_CONFIG_101 WIPE_CONFIG_68+1
{ triangles_4t[WIPE_T4_101], 4, 1, 1, 0 }, /* 101 */
#define WIPE_CONFIG_201 WIPE_CONFIG_101+1
- { triangles_5t[WIPE_T5_201], 5, 1, 1, 3 }, /* 201 */
+ { box_clock_4b[WIPE_B4_201], 4, 1, 1, 2 }, /* 201 */
#define WIPE_CONFIG_202 WIPE_CONFIG_201+1
- { triangles_5t[WIPE_T5_202], 5, 1, 1, 3 }, /* 202 */
+ { box_clock_4b[WIPE_B4_202], 4, 1, 1, 2 }, /* 202 */
#define WIPE_CONFIG_203 WIPE_CONFIG_202+1
- { triangles_5t[WIPE_T5_203], 5, 1, 1, 3 }, /* 203 */
+ { box_clock_4b[WIPE_B4_203], 4, 1, 1, 2 }, /* 203 */
#define WIPE_CONFIG_204 WIPE_CONFIG_203+1
- { triangles_5t[WIPE_T5_204], 5, 1, 1, 3 }, /* 204 */
+ { box_clock_4b[WIPE_B4_204], 4, 1, 1, 2 }, /* 204 */
#define WIPE_CONFIG_205 WIPE_CONFIG_204+1
- { triangles_6t[WIPE_T6_205], 6, 1, 1, 2 }, /* 205 */
+ { box_clock_4b[WIPE_B4_205], 4, 1, 1, 1 }, /* 205 */
#define WIPE_CONFIG_206 WIPE_CONFIG_205+1
- { triangles_6t[WIPE_T6_206], 6, 1, 1, 2 }, /* 206 */
+ { box_clock_4b[WIPE_B4_206], 4, 1, 1, 1 }, /* 206 */
#define WIPE_CONFIG_207 WIPE_CONFIG_206+1
- { triangles_8t[WIPE_T8_207], 8, 1, 1, 1 }, /* 207 */
+ { box_clock_4b[WIPE_B4_207], 4, 1, 1, 0 }, /* 207 */
#define WIPE_CONFIG_211 WIPE_CONFIG_207+1
- { triangles_6t[WIPE_T6_211], 6, 1, 1, 2 }, /* 211 */
+ { box_clock_4b[WIPE_B4_211], 4, 1, 1, 1 }, /* 211 */
#define WIPE_CONFIG_212 WIPE_CONFIG_211+1
- { triangles_6t[WIPE_T6_212], 6, 1, 1, 2 }, /* 212 */
+ { box_clock_4b[WIPE_B4_212], 4, 1, 1, 1 }, /* 212 */
#define WIPE_CONFIG_213 WIPE_CONFIG_212+1
- { triangles_8t[WIPE_T8_213], 8, 1, 1, 1 }, /* 213 */
+ { box_clock_4b[WIPE_B4_213], 4, 1, 1, 0 }, /* 213 */
#define WIPE_CONFIG_214 WIPE_CONFIG_213+1
- { triangles_8t[WIPE_T8_214], 8, 1, 1, 1 }, /* 214 */
+ { box_clock_4b[WIPE_B4_214], 4, 1, 1, 0 }, /* 214 */
#define WIPE_CONFIG_221 WIPE_CONFIG_214+1
- { triangles_3t[WIPE_T3_221], 3, 1, 1, 2 }, /* 221 */
+ { box_clock_2b[WIPE_B2_221], 2, 1, 1, 1 }, /* 221 */
#define WIPE_CONFIG_222 WIPE_CONFIG_221+1
- { triangles_3t[WIPE_T3_222], 3, 1, 1, 2 }, /* 222 */
+ { box_clock_2b[WIPE_B2_222], 2, 1, 1, 1 }, /* 222 */
#define WIPE_CONFIG_223 WIPE_CONFIG_222+1
- { triangles_3t[WIPE_T3_223], 3, 1, 1, 2 }, /* 223 */
+ { box_clock_2b[WIPE_B2_223], 2, 1, 1, 1 }, /* 223 */
#define WIPE_CONFIG_224 WIPE_CONFIG_223+1
- { triangles_3t[WIPE_T3_224], 3, 1, 1, 2 }, /* 224 */
+ { box_clock_2b[WIPE_B2_224], 2, 1, 1, 1 }, /* 224 */
#define WIPE_CONFIG_225 WIPE_CONFIG_224+1
- { triangles_4t[WIPE_T4_225], 4, 1, 1, 1 }, /* 225 */
+ { box_clock_2b[WIPE_B2_225], 2, 1, 1, 0 }, /* 225 */
#define WIPE_CONFIG_226 WIPE_CONFIG_225+1
- { triangles_4t[WIPE_T4_226], 4, 1, 1, 1 }, /* 226 */
+ { box_clock_2b[WIPE_B2_226], 2, 1, 1, 0 }, /* 226 */
#define WIPE_CONFIG_227 WIPE_CONFIG_226+1
- { triangles_6t[WIPE_T6_227], 6, 1, 1, 2 }, /* 227 */
+ { box_clock_4b[WIPE_B4_227], 4, 1, 1, 1 }, /* 227 */
#define WIPE_CONFIG_228 WIPE_CONFIG_227+1
- { triangles_6t[WIPE_T6_228], 6, 1, 1, 2 }, /* 228 */
+ { box_clock_4b[WIPE_B4_228], 4, 1, 1, 1 }, /* 228 */
#define WIPE_CONFIG_231 WIPE_CONFIG_228+1
- { triangles_4t[WIPE_T4_231], 4, 1, 1, 1 }, /* 231 */
+ { box_clock_2b[WIPE_B2_231], 2, 1, 1, 0 }, /* 231 */
#define WIPE_CONFIG_232 WIPE_CONFIG_231+1
- { triangles_4t[WIPE_T4_232], 4, 1, 1, 1 }, /* 232 */
+ { box_clock_2b[WIPE_B2_232], 2, 1, 1, 0 }, /* 232 */
#define WIPE_CONFIG_233 WIPE_CONFIG_232+1
- { triangles_4t[WIPE_T4_233], 4, 1, 1, 1 }, /* 233 */
+ { box_clock_2b[WIPE_B2_233], 2, 1, 1, 0 }, /* 233 */
#define WIPE_CONFIG_234 WIPE_CONFIG_233+1
- { triangles_4t[WIPE_T4_234], 4, 1, 1, 1 }, /* 234 */
+ { box_clock_2b[WIPE_B2_234], 2, 1, 1, 0 }, /* 234 */
#define WIPE_CONFIG_235 WIPE_CONFIG_234+1
- { triangles_8t[WIPE_T8_235], 8, 1, 1, 1 }, /* 235 */
+ { box_clock_4b[WIPE_B4_235], 4, 1, 1, 0 }, /* 235 */
#define WIPE_CONFIG_236 WIPE_CONFIG_235+1
- { triangles_8t[WIPE_T8_236], 8, 1, 1, 1 }, /* 236 */
+ { box_clock_4b[WIPE_B4_236], 4, 1, 1, 0 }, /* 236 */
#define WIPE_CONFIG_241 WIPE_CONFIG_236+1
- { triangles_2t[WIPE_T2_241], 2, 0, 0, 1 }, /* 241 */
+ { box_clock_1b[WIPE_B1_241], 1, 0, 0, 0 }, /* 241 */
#define WIPE_CONFIG_242 WIPE_CONFIG_241+1
- { triangles_2t[WIPE_T2_242], 2, 0, 0, 1 }, /* 242 */
+ { box_clock_1b[WIPE_B1_242], 1, 0, 0, 0 }, /* 242 */
#define WIPE_CONFIG_243 WIPE_CONFIG_242+1
- { triangles_2t[WIPE_T2_243], 2, 0, 0, 1 }, /* 243 */
+ { box_clock_1b[WIPE_B1_243], 1, 0, 0, 0 }, /* 243 */
#define WIPE_CONFIG_244 WIPE_CONFIG_243+1
- { triangles_2t[WIPE_T2_244], 2, 0, 0, 1 }, /* 244 */
+ { box_clock_1b[WIPE_B1_244], 1, 0, 0, 0 }, /* 244 */
#define WIPE_CONFIG_245 WIPE_CONFIG_244+1
{ triangles_2t[WIPE_T2_245], 2, 1, 1, 0 }, /* 245 */
#define WIPE_CONFIG_246 WIPE_CONFIG_245+1
{ triangles_2t[WIPE_T2_246], 2, 1, 1, 0 }, /* 246 */
+#define WIPE_CONFIG_251 WIPE_CONFIG_246+1
+ { box_clock_2b[WIPE_B2_251], 2, 1, 1, 0 }, /* 251 */
+#define WIPE_CONFIG_252 WIPE_CONFIG_251+1
+ { box_clock_2b[WIPE_B2_252], 2, 1, 1, 0 }, /* 252 */
+#define WIPE_CONFIG_253 WIPE_CONFIG_252+1
+ { box_clock_2b[WIPE_B2_253], 2, 1, 1, 0 }, /* 253 */
+#define WIPE_CONFIG_254 WIPE_CONFIG_253+1
+ { box_clock_2b[WIPE_B2_254], 2, 1, 1, 0 }, /* 254 */
+
+#define WIPE_CONFIG_261 WIPE_CONFIG_254+1
+ { box_clock_8b[WIPE_B8_261], 8, 2, 2, 2 }, /* 261 */
+#define WIPE_CONFIG_262 WIPE_CONFIG_261+1
+ { box_clock_8b[WIPE_B8_262], 8, 2, 2, 2 }, /* 262 */
+#define WIPE_CONFIG_263 WIPE_CONFIG_262+1
+ { box_clock_8b[WIPE_B8_263], 8, 2, 2, 1 }, /* 263 */
+#define WIPE_CONFIG_264 WIPE_CONFIG_263+1
+ { box_clock_8b[WIPE_B8_264], 8, 2, 2, 1 }, /* 264 */
};
static void
@@ -562,6 +582,12 @@ gst_wipe_boxes_draw (GstMask *mask)
impacts[1] * width, impacts[2] * height, impacts[3] * depth,
impacts[4] * width, impacts[5] * height, impacts[6] * depth);
impacts += 7;
+ case BOX_CLOCK:
+ gst_smpte_paint_box_clock (mask->data, mask->width,
+ impacts[1] * width, impacts[2] * height, impacts[3] * depth,
+ impacts[4] * width, impacts[5] * height, impacts[6] * depth,
+ impacts[7] * width, impacts[8] * height, impacts[9] * depth);
+ impacts += 10;
default:
break;
}
@@ -578,20 +604,11 @@ gst_wipe_triangles_clock_draw (GstMask *mask)
gint depth = (1 << mask->bpp) >> config->cscale;
gint i;
- g_print ("width %d %d\n", mask->width, width);
-
-
for (i = 0; i < config->nobjects; i++) {
gst_smpte_paint_triangle_clock (mask->data, mask->width,
- impacts[0] * width,
- impacts[1] * height,
- impacts[2] * depth,
- impacts[3] * width,
- impacts[4] * height,
- impacts[5] * depth,
- impacts[6] * width,
- impacts[7] * height,
- impacts[8] * depth);
+ impacts[0] * width, impacts[1] * height, impacts[2] * depth,
+ impacts[3] * width, impacts[4] * height, impacts[5] * depth,
+ impacts[6] * width, impacts[7] * height, impacts[8] * depth);
impacts += 9;
}
}
@@ -743,119 +760,119 @@ static GstMaskDefinition definitions[] = {
&wipe_config[WIPE_CONFIG_101] },
{ 201, "clock_cw12",
"A radial hand sweeps clockwise from the twelve o'clock position",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_201] },
{ 202, "clock_cw3",
"A radial hand sweeps clockwise from the three o'clock position",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_202] },
{ 203, "clock_cw6",
"A radial hand sweeps clockwise from the six o'clock position",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_203] },
{ 204, "clock_cw9",
"A radial hand sweeps clockwise from the nine o'clock position",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_204] },
{ 205, "pinwheel_tbv",
"Two radial hands sweep clockwise from the twelve and six o'clock positions",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_205] },
{ 206, "pinwheel_tbh",
"Two radial hands sweep clockwise from the nine and three o'clock positions",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_206] },
{ 207, "pinwheel_fb",
"Four radial hands sweep clockwise",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_207] },
{ 211, "fan_ct",
"A fan unfolds from the top edge, the fan axis at the center",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_211] },
{ 212, "fan_cr",
"A fan unfolds from the right edge, the fan axis at the center",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_212] },
{ 213, "doublefan_fov",
"Two fans, their axes at the center, unfold from the top and bottom",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_213] },
{ 214, "doublefan_foh",
"Two fans, their axes at the center, unfold from the left and right",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_214] },
{ 221, "singlesweep_cwt",
"A radial hand sweeps clockwise from the top edge's midpoint",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_221] },
{ 222, "singlesweep_cwr",
"A radial hand sweeps clockwise from the right edge's midpoint",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_222] },
{ 223, "singlesweep_cwb",
"A radial hand sweeps clockwise from the bottom edge's midpoint",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_223] },
{ 224, "singlesweep_cwl",
"A radial hand sweeps clockwise from the left edge's midpoint",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_224] },
{ 225, "doublesweep_pv",
"Two radial hands sweep clockwise and counter-clockwise from the top and bottom edges' midpoints",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_225] },
{ 226, "doublesweep_pd",
"Two radial hands sweep clockwise and counter-clockwise from the left and right edges' midpoints",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_226] },
{ 227, "doublesweep_ov",
"Two radial hands attached at the top and bottom edges' midpoints sweep from right to left",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_227] },
{ 228, "doublesweep_oh",
"Two radial hands attached at the left and right edges' midpoints sweep from top to bottom",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_228] },
{ 231, "fan_t",
"A fan unfolds from the bottom, the fan axis at the top edge's midpoint",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_231] },
{ 232, "fan_r",
"A fan unfolds from the left, the fan axis at the right edge's midpoint",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_232] },
{ 233, "fan_b",
"A fan unfolds from the top, the fan axis at the bottom edge's midpoint",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_233] },
{ 234, "fan_l",
"A fan unfolds from the right, the fan axis at the left edge's midpoint",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_234] },
{ 235, "doublefan_fiv",
"Two fans, their axes at the top and bottom, unfold from the center",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_235] },
{ 236, "doublefan_fih",
"Two fans, their axes at the left and right, unfold from the center",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_236] },
{ 241, "singlesweep_cwtl",
"A radial hand sweeps clockwise from the upper-left corner",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_241] },
{ 242, "singlesweep_cwbl",
"A radial hand sweeps counter-clockwise from the lower-left corner.",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_242] },
{ 243, "singlesweep_cwbr",
"A radial hand sweeps clockwise from the lower-right corner",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_243] },
{ 244, "singlesweep_cwtr",
"A radial hand sweeps counter-clockwise from the upper-right corner",
- gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_244] },
{ 245, "doublesweep_pdtl",
"Two radial hands attached at the upper-left and lower-right corners sweep down and up",
@@ -865,6 +882,38 @@ static GstMaskDefinition definitions[] = {
"Two radial hands attached at the lower-left and upper-right corners sweep down and up",
gst_wipe_triangles_clock_draw, _gst_mask_default_destroy,
&wipe_config[WIPE_CONFIG_246] },
+ { 251, "saloondoor_t",
+ "Two radial hands attached at the upper-left and upper-right corners sweep down",
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
+ &wipe_config[WIPE_CONFIG_251] },
+ { 252, "saloondoor_l",
+ "Two radial hands attached at the upper-left and lower-left corners sweep to the right",
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
+ &wipe_config[WIPE_CONFIG_252] },
+ { 253, "saloondoor_b",
+ "Two radial hands attached at the lower-left and lower-right corners sweep up",
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
+ &wipe_config[WIPE_CONFIG_253] },
+ { 254, "saloondoor_r",
+ "Two radial hands attached at the upper-right and lower-right corners sweep to the left",
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
+ &wipe_config[WIPE_CONFIG_254] },
+ { 261, "windshield_r",
+ "Two radial hands attached at the midpoints of the top and bottom halves sweep from right to left",
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
+ &wipe_config[WIPE_CONFIG_261] },
+ { 262, "windshield_u",
+ "Two radial hands attached at the midpoints of the left and right halves sweep from top to bottom",
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
+ &wipe_config[WIPE_CONFIG_262] },
+ { 263, "windshield_v",
+ "Two sets of radial hands attached at the midpoints of the top and bottom halves sweep from top to bottom and bottom to top",
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
+ &wipe_config[WIPE_CONFIG_263] },
+ { 264, "windshield_h",
+ "Two sets of radial hands attached at the midpoints of the left and right halves sweep from left to right and right to left",
+ gst_wipe_boxes_draw, _gst_mask_default_destroy,
+ &wipe_config[WIPE_CONFIG_264] },
{ 0, NULL, NULL, NULL }
};
diff --git a/gst/smpte/gstmask.c b/gst/smpte/gstmask.c
index 14804524..6430f420 100644
--- a/gst/smpte/gstmask.c
+++ b/gst/smpte/gstmask.c
@@ -104,12 +104,3 @@ gst_mask_destroy (GstMask *mask)
if (mask->destroy_func)
mask->destroy_func (mask);
}
-
-void
-gst_mask_update (GstMask *mask,
- GstClockTime position,
- GstClockTime duration)
-{
- g_return_if_fail (mask != NULL);
-
-}
diff --git a/gst/smpte/paint.c b/gst/smpte/paint.c
index d56450da..51eecebd 100644
--- a/gst/smpte/paint.c
+++ b/gst/smpte/paint.c
@@ -248,32 +248,31 @@ draw_line (guint32* dest, gint stride, int x, int y, int x2, int y2, int col)
void
gst_smpte_paint_triangle_clock (guint32 *dest, gint stride,
- gint x0, gint y0, gint c0,
- gint x1, gint y1, gint c1, gint x2, gint y2, gint c2)
+ gint x0, gint y0, gint c0,
+ gint x1, gint y1, gint c1,
+ gint x2, gint y2, gint c2)
{
gint i;
gint sign;
gfloat angle, angle_s, angle_e;
+ angle_s = 0.0;
+ angle_e = acos (((x1-x0) * (x2-x0) + (y1-y0) * (y2-y0))/
+ (sqrt ((x1-x0) * (x1-x0) + (y1-y0) * (y1-y0)) *
+ sqrt ((x2-x0) * (x2-x0) + (y2-y0) * (y2-y0))));
+
if (x1 == x2) {
gfloat len1 = sqrt ((x1-x0) * (x1-x0) + (y1-y0) * (y1-y0));
sign = SIGN (y2 - y1);
- angle_s = 0.0;
- angle_e = acos (((x1-x0) * (x2-x0) + (y1-y0) * (y2-y0))/
- (sqrt ((x1-x0) * (x1-x0) + (y1-y0) * (y1-y0)) *
- sqrt ((x2-x0) * (x2-x0) + (y2-y0) * (y2-y0))));
-
for (i=y1; i != y2+sign; i+=sign) {
gfloat len2 = sqrt ((x1-x0) * (x1-x0) + (i-y0) * (i-y0));
if (y1==i)
angle = 0;
else
- angle = acos (((x1-x0) * (x2-x0) + (y1-y0) * (i-y0))/ (len1 * len2));
-
- angle = angle / angle_e;
+ angle = acos (((x1-x0) * (x2-x0) + (y1-y0) * (i-y0))/ (len1 * len2)) / angle_e;
draw_line (dest, stride,
x0, y0, x1, i,
@@ -285,20 +284,13 @@ gst_smpte_paint_triangle_clock (guint32 *dest, gint stride,
sign = SIGN (x2 - x1);
- angle_s = 0.0;
- angle_e = acos (((x1-x0) * (x2-x0) + (y1-y0) * (y2-y0))/
- (sqrt ((x1-x0) * (x1-x0) + (y1-y0) * (y1-y0)) *
- sqrt ((x2-x0) * (x2-x0) + (y2-y0) * (y2-y0))));
-
for (i=x1; i != x2+sign; i+=sign) {
gfloat len2 = sqrt ((i-x0) * (i-x0) + (y2-y0) * (y2-y0));
if (x1==i)
angle = 0;
else
- angle = acos (((x1-x0) * (i-x0) + (y1-y0) * (y2-y0)) / (len1 * len2));
-
- angle = angle / angle_e;
+ angle = acos (((x1-x0) * (i-x0) + (y1-y0) * (y2-y0)) / (len1 * len2)) / angle_e;
draw_line (dest, stride,
x0, y0, i, y1,
@@ -306,3 +298,42 @@ gst_smpte_paint_triangle_clock (guint32 *dest, gint stride,
}
}
}
+
+void
+gst_smpte_paint_box_clock (guint32 *dest, gint stride,
+ gint x0, gint y0, gint c0,
+ gint x1, gint y1, gint c1,
+ gint x2, gint y2, gint c2)
+{
+ gfloat angle_m;
+
+ if (x1 == x0) {
+ angle_m = 2* acos (((x1-x0) * (x2-x0) + (y1-y0) * (y1-y0))/
+ (sqrt ((x1-x0) * (x1-x0) + (y1-y0) * (y1-y0)) *
+ sqrt ((x2-x0) * (x2-x0) + (y1-y0) * (y1-y0)))) / M_PI;
+
+ gst_smpte_paint_triangle_clock (dest, stride,
+ x0, y0, c0,
+ x1, y1, c1,
+ x2, y1, (c2 * angle_m + c1 * (1.0-angle_m)));
+ gst_smpte_paint_triangle_clock (dest, stride,
+ x0, y0, c0,
+ x2, y1, (c2 * angle_m + c1 * (1.0-angle_m)),
+ x2, y2, c2);
+ }
+ else if (y1 == y0) {
+ angle_m = 2* acos (((x1-x0) * (x1-x0) + (y1-y0) * (y2-y0))/
+ (sqrt ((x1-x0) * (x1-x0) + (y1-y0) * (y1-y0)) *
+ sqrt ((x1-x0) * (x1-x0) + (y2-y0) * (y2-y0)))) / M_PI;
+
+ gst_smpte_paint_triangle_clock (dest, stride,
+ x0, y0, c0,
+ x1, y1, c1,
+ x1, y2, (c2 * angle_m + c1 * (1.0-angle_m)));
+ gst_smpte_paint_triangle_clock (dest, stride,
+ x0, y0, c0,
+ x1, y2, (c2 * angle_m + c1 * (1.0-angle_m)),
+ x2, y2, c2);
+ }
+}
+
diff --git a/gst/smpte/paint.h b/gst/smpte/paint.h
index 4eacbd59..4c34cf92 100644
--- a/gst/smpte/paint.h
+++ b/gst/smpte/paint.h
@@ -39,4 +39,9 @@ void gst_smpte_paint_triangle_clock (guint32 *dest, gint stride,
gint x1, gint y1, gint c1,
gint x2, gint y2, gint c2);
+void gst_smpte_paint_box_clock (guint32 *dest, gint stride,
+ gint x0, gint y0, gint c0,
+ gint x1, gint y1, gint c1,
+ gint x2, gint y2, gint c2);
+
#endif /* __GST_SMPTE_PAINT_H__ */