79 |
****************************************************************************/ |
****************************************************************************/ |
80 |
|
|
81 |
static double msecond(); |
static double msecond(); |
82 |
static int dec_init(int use_assembler); |
static int dec_init(int use_assembler, int debug_level); |
83 |
static int dec_main(unsigned char *istream, |
static int dec_main(unsigned char *istream, |
84 |
unsigned char *ostream, |
unsigned char *ostream, |
85 |
int istream_size, |
int istream_size, |
119 |
int status; |
int status; |
120 |
|
|
121 |
int use_assembler = 0; |
int use_assembler = 0; |
122 |
|
int debug_level = 0; |
123 |
|
|
124 |
char filename[256]; |
char filename[256]; |
125 |
|
|
138 |
|
|
139 |
if (strcmp("-asm", argv[i]) == 0 ) { |
if (strcmp("-asm", argv[i]) == 0 ) { |
140 |
use_assembler = 1; |
use_assembler = 1; |
141 |
|
} else if (strcmp("-debug", argv[i]) == 0 && i < argc - 1 ) { |
142 |
|
i++; |
143 |
|
if (sscanf(argv[i], "0x%x", &debug_level) != 1) { |
144 |
|
debug_level = atoi(argv[i]); |
145 |
|
} |
146 |
} else if (strcmp("-d", argv[i]) == 0) { |
} else if (strcmp("-d", argv[i]) == 0) { |
147 |
ARG_SAVEDECOUTPUT = 1; |
ARG_SAVEDECOUTPUT = 1; |
148 |
} else if (strcmp("-i", argv[i]) == 0 && i < argc - 1 ) { |
} else if (strcmp("-i", argv[i]) == 0 && i < argc - 1 ) { |
225 |
* XviD PART Start |
* XviD PART Start |
226 |
****************************************************************************/ |
****************************************************************************/ |
227 |
|
|
228 |
status = dec_init(use_assembler); |
status = dec_init(use_assembler, debug_level); |
229 |
if (status) { |
if (status) { |
230 |
fprintf(stderr, |
fprintf(stderr, |
231 |
"Decore INIT problem, return value %d\n", status); |
"Decore INIT problem, return value %d\n", status); |
440 |
fprintf(stderr, "Usage : xvid_decraw [OPTIONS]\n"); |
fprintf(stderr, "Usage : xvid_decraw [OPTIONS]\n"); |
441 |
fprintf(stderr, "Options :\n"); |
fprintf(stderr, "Options :\n"); |
442 |
fprintf(stderr, " -asm : use assembly optimizations (default=disabled)\n"); |
fprintf(stderr, " -asm : use assembly optimizations (default=disabled)\n"); |
443 |
|
fprintf(stderr, " -debug : debug level (debug=0)\n"); |
444 |
fprintf(stderr, " -i string : input filename (default=stdin)\n"); |
fprintf(stderr, " -i string : input filename (default=stdin)\n"); |
445 |
fprintf(stderr, " -d : save decoder output\n"); |
fprintf(stderr, " -d : save decoder output\n"); |
446 |
fprintf(stderr, " -c csp : choose colorspace output (rgb16, rgb24, rgb32, yv12, i420)\n"); |
fprintf(stderr, " -c csp : choose colorspace output (rgb16, rgb24, rgb32, yv12, i420)\n"); |
629 |
|
|
630 |
/* init decoder before first run */ |
/* init decoder before first run */ |
631 |
static int |
static int |
632 |
dec_init(int use_assembler) |
dec_init(int use_assembler, int debug_level) |
633 |
{ |
{ |
634 |
int ret; |
int ret; |
635 |
|
|
636 |
xvid_gbl_init_t xvid_gbl_init; |
xvid_gbl_init_t xvid_gbl_init; |
637 |
xvid_dec_create_t xvid_dec_create; |
xvid_dec_create_t xvid_dec_create; |
638 |
|
|
|
/* Reset the structure with zeros */ |
|
|
memset(&xvid_gbl_init, 0, sizeof(xvid_gbl_init_t)); |
|
|
memset(&xvid_dec_create, 0, sizeof(xvid_dec_create_t)); |
|
|
|
|
639 |
/*------------------------------------------------------------------------ |
/*------------------------------------------------------------------------ |
640 |
* XviD core initialization |
* XviD core initialization |
641 |
*----------------------------------------------------------------------*/ |
*----------------------------------------------------------------------*/ |
653 |
else |
else |
654 |
xvid_gbl_init.cpu_flags = XVID_CPU_FORCE; |
xvid_gbl_init.cpu_flags = XVID_CPU_FORCE; |
655 |
|
|
656 |
|
xvid_gbl_init.debug = debug_level; |
657 |
|
|
658 |
xvid_global(NULL, 0, &xvid_gbl_init, NULL); |
xvid_global(NULL, 0, &xvid_gbl_init, NULL); |
659 |
|
|
660 |
/*------------------------------------------------------------------------ |
/*------------------------------------------------------------------------ |
689 |
int ret; |
int ret; |
690 |
|
|
691 |
xvid_dec_frame_t xvid_dec_frame; |
xvid_dec_frame_t xvid_dec_frame; |
|
memset(&xvid_dec_frame, 0, sizeof(xvid_dec_frame_t)); |
|
692 |
|
|
693 |
/* Set version */ |
/* Set version */ |
694 |
xvid_dec_frame.version = XVID_VERSION; |
xvid_dec_frame.version = XVID_VERSION; |