diff options
Diffstat (limited to 'mpg2c.c')
-rw-r--r-- | mpg2c.c | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/mpg2c.c b/mpg2c.c new file mode 100644 index 00000000..830ca7e0 --- /dev/null +++ b/mpg2c.c @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2003-2006 Petri Hintukainen <phintuka@cc.hut.fi> + * + * This code is distributed under the terms and conditions of the + * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details. + * + * mpg2.c: + * + * $Id: mpg2c.c,v 1.1 2006-06-03 10:01:17 phintuka Exp $ + * + */ + +#include <stdio.h> + +#define LINELEN 20 + +int main(int argc, char *argv[]) +{ + int ch; + int pos=1; + + if(argc != 4) { + printf("%s - convert binary file to C code\n\n" + "usage: %s variable inputfile outputfile\n", + argv[0],argv[0]); + return -1; + } + + FILE *fi = fopen(argv[2],"rb"); + FILE *fo = fopen(argv[3],"wt"); + if(!fi ||!fo) { + printf("Error opening files\n"); + return -1; + } + fprintf(fo, "unsigned char v_mpg_%s[] = \n \"", argv[1]); + while(EOF != (ch = fgetc(fi))) { + fprintf(fo, "\\x%02x", ch); + if(pos++ > LINELEN) { + fprintf(fo, "\"\n \""); + pos=1; + } + } + fprintf(fo, "\";\n\nint v_mpg_%s_length = sizeof(v_mpg_%s);\n\n", + argv[1], argv[1]); + + fclose(fi); + fclose(fo); + + return 0; +} |