Mercurial > mplayer.hg
changeset 788:214ea3f02d13
test.c added for benchmarking
author | arpi_esp |
---|---|
date | Sun, 13 May 2001 18:58:23 +0000 |
parents | 9bc104531aec |
children | 989b921361d0 |
files | mp3lib/Makefile mp3lib/test.c |
diffstat | 2 files changed, 65 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mp3lib/Makefile Sun May 13 18:30:53 2001 +0000 +++ b/mp3lib/Makefile Sun May 13 18:58:23 2001 +0000 @@ -18,6 +18,9 @@ libMP3.a: .depend $(OBJS) $(AR) r libMP3.a $(OBJS) +test: libMP3.a test.c + $(CC) $(CFLAGS) test.c -o test -I.. -L. -lMP3 + all: libMP3.a clean:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mp3lib/test.c Sun May 13 18:58:23 2001 +0000 @@ -0,0 +1,62 @@ + +// gcc test.c -I.. -L. -lMP3 -o test -O4 + +#include <stdio.h> +#include <stdlib.h> + +#include <unistd.h> +#include <sys/time.h> + +#include "mp3lib/mp3.h" +#include "config.h" + +static inline unsigned int GetTimer(){ + struct timeval tv; + struct timezone tz; +// float s; + gettimeofday(&tv,&tz); +// s=tv.tv_usec;s*=0.000001;s+=tv.tv_sec; + return (tv.tv_sec*1000000+tv.tv_usec); +} + +static FILE* mp3file=NULL; + +int mplayer_audio_read(char *buf,int size){ + return fread(buf,1,size,mp3file); +} + +#define BUFFLEN 4608 +static unsigned char buffer[BUFFLEN]; + +int main(int argc,char* argv[]){ + int len; + int total=0; + unsigned int time1; + float length; + + mp3file=fopen((argc>1)?argv[1]:"test.mp3","rb"); + if(!mp3file){ printf("file not found\n"); exit(1); } + + // MPEG Audio: +#ifdef USE_FAKE_MONO + MP3_Init(0); +#else + MP3_Init(); +#endif + MP3_samplerate=MP3_channels=0; + + time1=GetTimer(); + while((len=MP3_DecodeFrame(buffer,-1))>0){ + total+=len; + // play it + //putchar('.');fflush(stdout); + } + time1=GetTimer()-time1; + length=(float)total/(float)(MP3_samplerate*MP3_channels*2); + printf("\nDecoding time: %8.6f\n",(float)time1*0.000001f); + printf("Uncompressed size: %d bytes (%8.3f secs)\n",total,length); + printf("CPU usage at normal playback: %5.2f %\n",time1*0.0001f/length); + + fclose(mp3file); + +}