Created
December 5, 2012 13:30
-
-
Save oneman/4215522 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/lib/krad_compositor/krad_compositor.c b/lib/krad_compositor/krad_compositor.c | |
index f20d580..ed47844 100644 | |
--- a/lib/krad_compositor/krad_compositor.c | |
+++ b/lib/krad_compositor/krad_compositor.c | |
@@ -139,7 +139,7 @@ void krad_compositor_add_text (krad_compositor_t *krad_compositor, char *text, i | |
krad_text = NULL; | |
- for (s = 0; s < KRAD_COMPOSITOR_MAX_TEXTS; s++) { | |
+ for (s = 0; s < KC_MAX_TEXTS; s++) { | |
if (krad_compositor->krad_text[s].krad_compositor_subunit->active == 0) { | |
krad_text = &krad_compositor->krad_text[s]; | |
krad_text->krad_compositor_subunit->active = 2; | |
@@ -217,7 +217,7 @@ void krad_compositor_add_sprite (krad_compositor_t *krad_compositor, char *filen | |
return; | |
} | |
- for (s = 0; s < KRAD_COMPOSITOR_MAX_SPRITES; s++) { | |
+ for (s = 0; s < KC_MAX_SPRITES; s++) { | |
if (krad_compositor->krad_sprite[s].krad_compositor_subunit->active == 0) { | |
krad_sprite = &krad_compositor->krad_sprite[s]; | |
krad_sprite->krad_compositor_subunit->active = 2; | |
@@ -435,7 +435,7 @@ void krad_compositor_process (krad_compositor_t *krad_compositor) { | |
/* Composite Input Ports / Sprites / Texts */ | |
- for (p = 0; p < KRAD_COMPOSITOR_MAX_PORTS; p++) { | |
+ for (p = 0; p < KC_MAX_PORTS; p++) { | |
if ((krad_compositor->port[p].krad_compositor_subunit->active == 1) && (krad_compositor->port[p].direction == INPUT)) { | |
frame = krad_compositor_port_pull_frame (&krad_compositor->port[p]); | |
if (frame != NULL) { | |
@@ -445,13 +445,13 @@ void krad_compositor_process (krad_compositor_t *krad_compositor) { | |
} | |
} | |
- for (p = 0; p < KRAD_COMPOSITOR_MAX_SPRITES; p++) { | |
+ for (p = 0; p < KC_MAX_SPRITES; p++) { | |
if (krad_compositor->krad_sprite[p].krad_compositor_subunit->active == 1) { | |
krad_sprite_render (&krad_compositor->krad_sprite[p], krad_compositor->krad_gui->cr); | |
} | |
} | |
- for (p = 0; p < KRAD_COMPOSITOR_MAX_TEXTS; p++) { | |
+ for (p = 0; p < KC_MAX_TEXTS; p++) { | |
if (krad_compositor->krad_text[p].krad_compositor_subunit->active == 1) { | |
krad_text_render (&krad_compositor->krad_text[p], krad_compositor->krad_gui->cr); | |
} | |
@@ -461,7 +461,7 @@ void krad_compositor_process (krad_compositor_t *krad_compositor) { | |
/* Push out the composited frame */ | |
- for (p = 0; p < KRAD_COMPOSITOR_MAX_PORTS; p++) { | |
+ for (p = 0; p < KC_MAX_PORTS; p++) { | |
if ((krad_compositor->port[p].krad_compositor_subunit->active == 1) && (krad_compositor->port[p].direction == OUTPUT)) { | |
krad_compositor_port_push_frame (&krad_compositor->port[p], composite_frame); | |
} | |
@@ -611,7 +611,7 @@ void krad_compositor_passthru_process (krad_compositor_t *krad_compositor) { | |
krad_frame = NULL; | |
- for (p = 0; p < KRAD_COMPOSITOR_MAX_PORTS; p++) { | |
+ for (p = 0; p < KC_MAX_PORTS; p++) { | |
if ((krad_compositor->port[p].krad_compositor_subunit->active == 1) && (krad_compositor->port[p].direction == INPUT) && | |
(krad_compositor->port[p].passthru == 1)) { | |
krad_frame = krad_compositor_port_pull_frame (&krad_compositor->port[p]); | |
@@ -623,7 +623,7 @@ void krad_compositor_passthru_process (krad_compositor_t *krad_compositor) { | |
return; | |
} | |
- for (p = 0; p < KRAD_COMPOSITOR_MAX_PORTS; p++) { | |
+ for (p = 0; p < KC_MAX_PORTS; p++) { | |
if ((krad_compositor->port[p].krad_compositor_subunit->active == 1) && (krad_compositor->port[p].direction == OUTPUT) && | |
(krad_compositor->port[p].passthru == 1)) { | |
@@ -1111,7 +1111,7 @@ krad_compositor_port_t *krad_compositor_port_create_full (krad_compositor_t *kra | |
pthread_mutex_lock (&krad_compositor->settings_lock); | |
- for (p = 0; p < KRAD_COMPOSITOR_MAX_PORTS; p++) { | |
+ for (p = 0; p < KC_MAX_PORTS; p++) { | |
if (krad_compositor->port[p].krad_compositor_subunit->active == 0) { | |
krad_compositor_port = &krad_compositor->port[p]; | |
if (krad_compositor_port->krad_compositor_subunit) { | |
@@ -1360,7 +1360,7 @@ void krad_compositor_destroy (krad_compositor_t *krad_compositor) { | |
printk ("Krad compositor destroy started"); | |
- for (i = 0; i < KRAD_COMPOSITOR_MAX_PORTS; i++) { | |
+ for (i = 0; i < KC_MAX_PORTS; i++) { | |
if (krad_compositor->port[i].krad_compositor_subunit->active == 1) { | |
krad_compositor_port_destroy (krad_compositor, &krad_compositor->port[i]); | |
} | |
@@ -1376,8 +1376,8 @@ void krad_compositor_destroy (krad_compositor_t *krad_compositor) { | |
krad_sprite_reset (krad_compositor->background); | |
free (krad_compositor->background); | |
- krad_sprite_destroy_arr (krad_compositor->krad_sprite, KRAD_COMPOSITOR_MAX_SPRITES); | |
- krad_text_destroy_arr (krad_compositor->krad_text, KRAD_COMPOSITOR_MAX_TEXTS); | |
+ krad_sprite_destroy_arr (krad_compositor->krad_sprite, KC_MAX_SPRITES); | |
+ krad_text_destroy_arr (krad_compositor->krad_text, KC_MAX_TEXTS); | |
free (krad_compositor); | |
@@ -1439,19 +1439,19 @@ krad_compositor_t *krad_compositor_create (int width, int height, | |
krad_compositor->background = krad_sprite_create (); | |
- krad_compositor->port = calloc(KRAD_COMPOSITOR_MAX_PORTS, sizeof(krad_compositor_port_t)); | |
+ krad_compositor->port = calloc(KC_MAX_PORTS, sizeof(krad_compositor_port_t)); | |
- for (i = 0; i < KRAD_COMPOSITOR_MAX_PORTS; i++) { | |
+ for (i = 0; i < KC_MAX_PORTS; i++) { | |
krad_compositor->port[i].krad_compositor_subunit = krad_compositor_subunit_create(); | |
} | |
- //krad_compositor->krad_sprite = calloc(KRAD_COMPOSITOR_MAX_SPRITES, sizeof(krad_sprite_t)); | |
- krad_compositor->krad_sprite = krad_sprite_create_arr (KRAD_COMPOSITOR_MAX_SPRITES); | |
+ //krad_compositor->krad_sprite = calloc(KC_MAX_SPRITES, sizeof(krad_sprite_t)); | |
+ krad_compositor->krad_sprite = krad_sprite_create_arr (KC_MAX_SPRITES); | |
- //krad_compositor->krad_text = calloc(KRAD_COMPOSITOR_MAX_TEXTS, sizeof(krad_text_t)); | |
- krad_compositor->krad_text = krad_text_create_arr (KRAD_COMPOSITOR_MAX_TEXTS); | |
+ //krad_compositor->krad_text = calloc(KC_MAX_TEXTS, sizeof(krad_text_t)); | |
+ krad_compositor->krad_text = krad_text_create_arr (KC_MAX_TEXTS); | |
- for (i = 0; i < KRAD_COMPOSITOR_MAX_TEXTS; i++) { | |
+ for (i = 0; i < KC_MAX_TEXTS; i++) { | |
krad_text_reset (&krad_compositor->krad_text[i]); | |
} | |
@@ -1900,7 +1900,7 @@ int krad_compositor_handler ( krad_compositor_t *krad_compositor, krad_ipc_serve | |
krad_ipc_server_response_start ( krad_ipc, EBML_ID_KRAD_COMPOSITOR_MSG, &response); | |
krad_ipc_server_response_list_start ( krad_ipc, EBML_ID_KRAD_COMPOSITOR_PORT_LIST, &element); | |
- for (p = 0; p < KRAD_COMPOSITOR_MAX_PORTS; p++) { | |
+ for (p = 0; p < KC_MAX_PORTS; p++) { | |
if (krad_compositor->port[p].krad_compositor_subunit->active == 1) { | |
//printf("Link %d Active: %s\n", k, krad_linker->krad_link[k]->mount); | |
krad_compositor_port_to_ebml ( krad_ipc, &krad_compositor->port[p]); | |
@@ -2049,7 +2049,7 @@ int krad_compositor_handler ( krad_compositor_t *krad_compositor, krad_ipc_serve | |
krad_ipc_server_response_start ( krad_ipc, EBML_ID_KRAD_COMPOSITOR_MSG, &response); | |
krad_ipc_server_response_list_start ( krad_ipc, EBML_ID_KRAD_COMPOSITOR_SPRITE_LIST, &element); | |
- for (s = 0; s < KRAD_COMPOSITOR_MAX_SPRITES; s++) { | |
+ for (s = 0; s < KC_MAX_SPRITES; s++) { | |
if (krad_compositor->krad_sprite[s].krad_compositor_subunit->active) { | |
printk ("Sprite %d Active: %d", s, krad_compositor->krad_sprite[s].krad_compositor_subunit->active); | |
krad_compositor_sprite_to_ebml ( krad_ipc, &krad_compositor->krad_sprite[s], s); | |
@@ -2209,7 +2209,7 @@ int krad_compositor_handler ( krad_compositor_t *krad_compositor, krad_ipc_serve | |
//krad_ipc_server_respond_string ( krad_ipc, EBML_ID_KRAD_COMPOSITOR_TEXT, "this is a test name"); | |
krad_ipc_server_response_list_start ( krad_ipc, EBML_ID_KRAD_COMPOSITOR_TEXT_LIST, &element); | |
- for (s = 0; s < KRAD_COMPOSITOR_MAX_TEXTS; s++) { | |
+ for (s = 0; s < KC_MAX_TEXTS; s++) { | |
if (krad_compositor->krad_text[s].krad_compositor_subunit->active) { | |
printk ("Text %d Active: %d", s, krad_compositor->krad_text[s].krad_compositor_subunit->active); | |
krad_compositor_text_to_ebml ( krad_ipc, &krad_compositor->krad_text[s], s); | |
@@ -2231,7 +2231,7 @@ int krad_compositor_handler ( krad_compositor_t *krad_compositor, krad_ipc_serve | |
case EBML_ID_KRAD_COMPOSITOR_CMD_LOCAL_VIDEOPORT_DESTROY: | |
- for (p = 0; p < KRAD_COMPOSITOR_MAX_PORTS; p++) { | |
+ for (p = 0; p < KC_MAX_PORTS; p++) { | |
if (krad_compositor->port[p].local == 1) { | |
krad_compositor_port_destroy (krad_compositor, &krad_compositor->port[p]); | |
break; | |
diff --git a/lib/krad_compositor/krad_compositor.h b/lib/krad_compositor/krad_compositor.h | |
index d09741a..a8b7095 100644 | |
--- a/lib/krad_compositor/krad_compositor.h | |
+++ b/lib/krad_compositor/krad_compositor.h | |
@@ -22,9 +22,11 @@ typedef struct krad_compositor_snapshot_St krad_compositor_snapshot_t; | |
#include "krad_compositor_port.h" | |
#define DEFAULT_COMPOSITOR_BUFFER_FRAMES 120 | |
-#define KRAD_COMPOSITOR_MAX_PORTS 32 | |
-#define KRAD_COMPOSITOR_MAX_SPRITES 64 | |
-#define KRAD_COMPOSITOR_MAX_TEXTS 64 | |
+#define KC_MAX_PORTS 32 | |
+#define KC_MAX_SPRITES 64 | |
+#define KC_MAX_TEXTS 64 | |
+#define KC_MAX_VECTORS 64 | |
+#define KC_MAX_SUBUNITS KC_MAX_PORTS * KC_MAX_SPRITES * KC_MAX_TEXTS * KC_MAX_VECTORS | |
typedef enum { | |
SYNTHETIC = 13999, | |
@@ -119,6 +121,8 @@ struct krad_compositor_St { | |
int active_texts; | |
struct timespec start_time; | |
+ | |
+ krad_compositor_subunit_t *subunit_z_order[KC_MAX_SUBUNITS]; | |
}; | |
void krad_compositor_unset_krad_mixer (krad_compositor_t *krad_compositor); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment