# HG changeset patch # User reimar # Date 1265051641 0 # Node ID 9c15719d87696e27b583cccb6167f490bc964832 # Parent 7eba91101a468e3fc0d5b77f36a2e7a341c25df3 Fix -vf tfields=1 so it does not read out of bounds or leave parts of the output frame uninitialized. diff -r 7eba91101a46 -r 9c15719d8769 libmpcodecs/vf_tfields.c --- a/libmpcodecs/vf_tfields.c Mon Feb 01 18:20:22 2010 +0000 +++ b/libmpcodecs/vf_tfields.c Mon Feb 01 19:14:01 2010 +0000 @@ -43,13 +43,16 @@ int x, y; src += ss; dest += ds; + h--; if (field) { + fast_memcpy(dest - ds, src - ss, w); src += ss; dest += ds; - h -= 2; + h--; } - for (y=h/2; y; y--) { - for (x=0; x 0; y--) { + dest[0] = src[0]; + for (x=1; x src[x]) && (src[x+ss] > src[x]))) { //dest[x] = (src[x+ss] + src[x-ss])>>1; @@ -59,9 +62,12 @@ } else dest[x] = src[x]; } + dest[w-1] = src[w-1]; dest += ds<<1; src += ss<<1; } + if (h & 1) + fast_memcpy(dest, src, w); } #if HAVE_AMD3DNOW