From 428a24fb81baba9ece22fd4d6a2da5eb70db4f1a Mon Sep 17 00:00:00 2001 From: xliska Date: Fri, 12 Sep 2008 08:59:26 +0000 Subject: [PATCH] Displaying progressive frames. Fixed bug while probing for AJA Kona3. Ultragrid was trying to display the video using kona module even in case that non Kona3 video output component was detected. --- ultragrid/src/video_display/kona.c | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/ultragrid/src/video_display/kona.c b/ultragrid/src/video_display/kona.c index dad9f1ebe..66deb53c6 100644 --- a/ultragrid/src/video_display/kona.c +++ b/ultragrid/src/video_display/kona.c @@ -139,19 +139,23 @@ display_thread_kona(void *arg) line1 = s->buffers[s->image_display]; line2 = s->outBuffer; - if (bitdepth == 10) { - for (i = 0; i < 1080; i += 2) { - memcpy(line2, line1, 5120); - memcpy(line2+5120, line1+5120*540, 5120); - line1 += 5120; - line2 += 2*5120; - } + if (progressive == 1) { + memcpy(line2, line1, hd_size_x*hd_size_y*hd_color_bpp); } else { - for (i = 0; i < 1080; i += 2) { - memcpy(line2, line1, hd_size_x * hd_color_bpp); - memcpy(line2 + hd_size_x * hd_color_bpp, line1 + hd_size_x * hd_color_bpp * hd_size_y / 2, hd_size_x * hd_color_bpp); - line1 += hd_size_x * hd_color_bpp; - line2 += hd_size_x * hd_color_bpp * 2; + if (bitdepth == 10) { + for (i = 0; i < 1080; i += 2) { + memcpy(line2, line1, 5120); + memcpy(line2+5120, line1+5120*540, 5120); + line1 += 5120; + line2 += 2*5120; + } + } else { + for (i = 0; i < 1080; i += 2) { + memcpy(line2, line1, hd_size_x * hd_color_bpp); + memcpy(line2 + hd_size_x * hd_color_bpp, line1 + hd_size_x * hd_color_bpp * hd_size_y / 2, hd_size_x * hd_color_bpp); + line1 += hd_size_x * hd_color_bpp; + line2 += hd_size_x * hd_color_bpp * 2; + } } } @@ -245,7 +249,7 @@ display_kona_init(void) char *cName = *componentNameHandle; DisposeHandle(componentNameHandle); - if (strcmp(cName, "AJA")) { + if ((strstr(cName, "AJA")) != NULL) { fprintf(stdout, "Found video output component: %s\n", cName); s->videoDisplayComponent = c; s->videoDisplayComponentInstance = OpenComponent(s->videoDisplayComponent);