[FFmpeg-cvslog] tiny_psnr: support unseekable raw files.
Nicolas George
git at videolan.org
Sun Apr 15 15:58:54 CEST 2012
ffmpeg | branch: master | Nicolas George <nicolas.george at normalesup.org> | Sun Apr 15 14:20:42 2012 +0200| [e6f7e22d18601a1cafc870c52b5e6dbc4660e604] | committer: Nicolas George
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.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e6f7e22d18601a1cafc870c52b5e6dbc4660e604
---
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 8e1f338..a9db98e 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]);
More information about the ffmpeg-cvslog
mailing list