From: Toni Wilen Date: Sun, 27 Oct 2019 12:02:31 +0000 (+0200) Subject: Automatically loop genlock video file. X-Git-Tag: 4300~66 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=519c043da886cbea097d89fbbdf908f130ae0dde;p=francis%2Fwinuae.git Automatically loop genlock video file. --- diff --git a/od-win32/win32_videograb.cpp b/od-win32/win32_videograb.cpp index 6aa7fe55..f2f8bdcd 100644 --- a/od-win32/win32_videograb.cpp +++ b/od-win32/win32_videograb.cpp @@ -442,5 +442,8 @@ void isvideograb_status(void) break; mediaEvent->FreeEventParams(EventCode, lParam1, lParam2); write_log(_T("VIDEOGRAB EVENT %08X %08X %08X\n"), EventCode, lParam1, lParam2); + if (EventCode == EC_COMPLETE) { + getsetpositionvideograb(0); + } } } diff --git a/specialmonitors.cpp b/specialmonitors.cpp index 90ceca9e..f8fb2cb4 100755 --- a/specialmonitors.cpp +++ b/specialmonitors.cpp @@ -2591,6 +2591,7 @@ skip: continue; uae_u8 *line = src->bufmem + yoff * src->rowbytes; + uae_u8 *lineprev = yoff > 0 ? src->bufmem + (yoff - 1) * src->rowbytes : NULL; uae_u8 *dstline = dst->bufmem + ((y * 2 + oddlines) - dst->yoffset) * dst->rowbytes; uae_u8 *line_genlock = row_map_genlock[yoff]; int gy = ((y * 2 + oddlines) - src->yoffset - offsety) * deltay / 65536; @@ -2600,13 +2601,12 @@ skip: r = g = b; a = amix1; noise_add = (quickrand() & 15) | 1; + uae_u8 *s = line; + uae_u8 *d = dstline; + uae_u8 *s_genlock = line_genlock; for (x = 0; x < src->inwidth; x++) { - uae_u8 *s = line + x * src->pixbytes; - uae_u8 *d = dstline + x * dst->pixbytes; - uae_u8 *s_genlock = line_genlock + x; uae_u8 *s2 = s + src->rowbytes; uae_u8 *d2 = d + dst->rowbytes; - if (is_transparent(*s_genlock)) { a = amix2; if (genlock_error) { @@ -2637,6 +2637,9 @@ skip: } else { PUT_AMIGARGBA(d, s, d2, s2, dst, 0, doublelines, false); } + s += src->pixbytes; + d += dst->pixbytes; + s_genlock++; } }