229 |
* Main loop |
* Main loop |
230 |
****************************************************************************/ |
****************************************************************************/ |
231 |
|
|
|
totalsize = LONG_PACK('M','P','4','U'); |
|
|
mp4_ptr = (unsigned char *)&totalsize; |
|
|
if(*mp4_ptr == 'M') |
|
|
bigendian = 1; |
|
|
else |
|
|
bigendian = 0; |
|
|
|
|
232 |
if(ARG_STREAMTYPE) { |
if(ARG_STREAMTYPE) { |
233 |
|
|
234 |
unsigned char header[4]; |
unsigned char header[4]; |
238 |
goto release_all; |
goto release_all; |
239 |
fread(header, 4, 1, in_file); |
fread(header, 4, 1, in_file); |
240 |
|
|
241 |
if(header[0] != 'M' || header[1] != 'P' || |
if(header[0] != '2' || header[1] != 'M' || |
242 |
header[2] != '4' || header[3] != 'U') { |
header[2] != 'O' || header[3] != 'G') { |
243 |
fprintf(stderr, "Error, this not a mp4u container file\n"); |
fprintf(stderr, "Error, this not a mp4u container file\n"); |
244 |
goto release_all; |
goto release_all; |
245 |
} |
} |
246 |
|
|
247 |
} |
} |
248 |
else { |
|
249 |
fread(mp4_buffer, BUFFER_SIZE, 1, in_file); |
totalsize = LONG_PACK('M','P','4','U'); |
250 |
} |
mp4_ptr = (unsigned char *)&totalsize; |
251 |
|
if(*mp4_ptr == 'M') |
252 |
|
bigendian = 1; |
253 |
|
else |
254 |
|
bigendian = 0; |
255 |
|
|
256 |
totaldectime = 0; |
totaldectime = 0; |
257 |
totalsize = 0; |
totalsize = 0; |
274 |
break; |
break; |
275 |
fread(&mp4_size, sizeof(long), 1, in_file); |
fread(&mp4_size, sizeof(long), 1, in_file); |
276 |
|
|
277 |
/* Mp4U container is big endian */ |
if(bigendian) |
|
if(!bigendian) |
|
278 |
mp4_size = SWAP(mp4_size); |
mp4_size = SWAP(mp4_size); |
279 |
|
|
280 |
/* Read mp4_size_bytes */ |
/* Read mp4_size_bytes */ |
309 |
if(feof(in_file)) |
if(feof(in_file)) |
310 |
break; |
break; |
311 |
fread(mp4_buffer + rest, BUFFER_SIZE - rest, 1, in_file); |
fread(mp4_buffer + rest, BUFFER_SIZE - rest, 1, in_file); |
|
|
|
312 |
} |
} |
313 |
|
|
314 |
} |
} |
377 |
totaldectime /= filenr; |
totaldectime /= filenr; |
378 |
|
|
379 |
printf("Avg: dectime %5.2f ms, %5.2f fps, mp4 stream size =%d\n", |
printf("Avg: dectime %5.2f ms, %5.2f fps, mp4 stream size =%d\n", |
380 |
totaldectime, 1000/totaldectime, (int)totalsize); |
totaldectime, 1000/totaldectime, totalsize); |
381 |
|
|
382 |
/***************************************************************************** |
/***************************************************************************** |
383 |
* XviD PART Stop |
* XviD PART Stop |
384 |
****************************************************************************/ |
/****************************************************************************/ |
385 |
|
|
386 |
release_all: |
release_all: |
387 |
if (dec_handle) { |
if (dec_handle) { |
437 |
#endif |
#endif |
438 |
} |
} |
439 |
|
|
440 |
|
|
441 |
/***************************************************************************** |
/***************************************************************************** |
442 |
* output functions |
* output functions |
443 |
****************************************************************************/ |
****************************************************************************/ |