diff options
author | Nicolas George <nicolas.george@normalesup.org> | 2012-04-15 16:20:42 +0400 |
---|---|---|
committer | Nicolas George <nicolas.george@normalesup.org> | 2012-04-15 17:28:52 +0400 |
commit | e6f7e22d18601a1cafc870c52b5e6dbc4660e604 (patch) | |
tree | 3593cf22637bfb0beb4838e6f7cb2dd50502b669 /tests/tiny_psnr.c | |
parent | 93927eb334dce961603645dd4ed9772bb2400cc4 (diff) |
tiny_psnr: support unseekable raw files.
If either one of the files if not seekable,
do not try to read headers.
It allows to use it with pipes on whole rawvideo data.
Diffstat (limited to 'tests/tiny_psnr.c')
-rw-r--r-- | tests/tiny_psnr.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tests/tiny_psnr.c b/tests/tiny_psnr.c index 8e1f338e0e..a9db98e1e8 100644 --- a/tests/tiny_psnr.c +++ b/tests/tiny_psnr.c @@ -114,10 +114,13 @@ static int run_psnr(FILE *f[2], int len, int shift, int skip_bytes) int size0 = 0; int size1 = 0; int maxdist = 0; + int noseek; - rewind(f[0]); - rewind(f[1]); + noseek = fseek(f[0], 0, SEEK_SET) || + fseek(f[1], 0, SEEK_SET); + if (!noseek) { + /* TODO reindent */ for (i = 0; i < 2; i++) { uint8_t *p = buf[i]; if (fread(p, 1, 12, f[i]) != 12) @@ -141,6 +144,7 @@ static int run_psnr(FILE *f[2], int len, int shift, int skip_bytes) fseek(f[0], skip_bytes, SEEK_CUR); fseek(f[1], skip_bytes, SEEK_CUR); + } for (;;) { int s0 = fread(buf[0], 1, SIZE, f[0]); |