fixed vpxenc bug where ivf files would be read incorrectly

read_frame would incorrectly insert detect->buf into img
for ivf files.  detect->position now set to 4 if input file is
detected to be ivf in file_is_ivf to keep this from occuring.

Change-Id: I5e235dd3033985bc62707a35c13af5984620208e
This commit is contained in:
James Berry 2010-12-13 13:10:58 -05:00
parent 97a86c5b13
commit 136bd2455e

7
vpxenc.c Normal file → Executable file
View File

@ -347,12 +347,12 @@ unsigned int file_is_ivf(FILE *infile,
unsigned int *fourcc,
unsigned int *width,
unsigned int *height,
char detect[4])
struct detect_buffer *detect)
{
char raw_hdr[IVF_FILE_HDR_SZ];
int is_ivf = 0;
if(memcmp(detect, "DKIF", 4) != 0)
if(memcmp(detect->buf, "DKIF", 4) != 0)
return 0;
/* See write_ivf_file_header() for more documentation on the file header
@ -376,6 +376,7 @@ unsigned int file_is_ivf(FILE *infile,
{
*width = mem_get_le16(raw_hdr + 12);
*height = mem_get_le16(raw_hdr + 14);
detect->position = 4;
}
return is_ivf;
@ -1390,7 +1391,7 @@ int main(int argc, const char **argv_)
}
}
else if (detect.buf_read == 4 &&
file_is_ivf(infile, &fourcc, &cfg.g_w, &cfg.g_h, detect.buf))
file_is_ivf(infile, &fourcc, &cfg.g_w, &cfg.g_h, &detect))
{
file_type = FILE_TYPE_IVF;
switch (fourcc)