annotate mp3lib/test.c @ 26234:f0788169e503

Ignore if we fail to get disc key, fixes playback of one of my DVDs which claims to be scrambled but actually is not, and always allows to fallback to cached keys.
author reimar
date Fri, 21 Mar 2008 12:31:47 +0000
parents 0d255d03016f
children bfa2c4d5a273
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
814
13805b1ca0f7 dump to file
arpi_esp
parents: 788
diff changeset
1
13805b1ca0f7 dump to file
arpi_esp
parents: 788
diff changeset
2 #define DUMP_PCM
788
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
3
826
93304e7353c8 Added missing mathlib for linking.
atmosfear
parents: 814
diff changeset
4 // gcc test.c -I.. -L. -lMP3 -lm -o test1 -O4
788
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
5
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
6 #include <stdio.h>
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
7 #include <stdlib.h>
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
8
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
9 #include <unistd.h>
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
10 #include <sys/time.h>
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
11
26203
0d255d03016f #include config.h before all other headers.
diego
parents: 16989
diff changeset
12 #include "config.h"
788
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
13 #include "mp3lib/mp3.h"
16989
e7a129082fda Unify include paths, -I.. is in CFLAGS.
diego
parents: 10372
diff changeset
14 #include "cpudetect.h"
10372
17554a75a654 getcpucaps support
alex
parents: 826
diff changeset
15 extern CpuCaps gCpuCaps;
17554a75a654 getcpucaps support
alex
parents: 826
diff changeset
16
788
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
17 static inline unsigned int GetTimer(){
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
18 struct timeval tv;
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
19 struct timezone tz;
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
20 // float s;
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
21 gettimeofday(&tv,&tz);
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
22 // s=tv.tv_usec;s*=0.000001;s+=tv.tv_sec;
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
23 return (tv.tv_sec*1000000+tv.tv_usec);
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
24 }
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
25
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
26 static FILE* mp3file=NULL;
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
27
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
28 int mplayer_audio_read(char *buf,int size){
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
29 return fread(buf,1,size,mp3file);
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
30 }
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
31
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
32 #define BUFFLEN 4608
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
33 static unsigned char buffer[BUFFLEN];
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
34
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
35 int main(int argc,char* argv[]){
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
36 int len;
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
37 int total=0;
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
38 unsigned int time1;
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
39 float length;
814
13805b1ca0f7 dump to file
arpi_esp
parents: 788
diff changeset
40 #ifdef DUMP_PCM
13805b1ca0f7 dump to file
arpi_esp
parents: 788
diff changeset
41 FILE *f=NULL;
13805b1ca0f7 dump to file
arpi_esp
parents: 788
diff changeset
42 f=fopen("test.pcm","wb");
13805b1ca0f7 dump to file
arpi_esp
parents: 788
diff changeset
43 #endif
788
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
44
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
45 mp3file=fopen((argc>1)?argv[1]:"test.mp3","rb");
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
46 if(!mp3file){ printf("file not found\n"); exit(1); }
10372
17554a75a654 getcpucaps support
alex
parents: 826
diff changeset
47
17554a75a654 getcpucaps support
alex
parents: 826
diff changeset
48 GetCpuCaps(&gCpuCaps);
788
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
49
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
50 // MPEG Audio:
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
51 #ifdef USE_FAKE_MONO
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
52 MP3_Init(0);
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
53 #else
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
54 MP3_Init();
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
55 #endif
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
56 MP3_samplerate=MP3_channels=0;
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
57
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
58 time1=GetTimer();
814
13805b1ca0f7 dump to file
arpi_esp
parents: 788
diff changeset
59 while((len=MP3_DecodeFrame(buffer,-1))>0 && total<2000000){
788
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
60 total+=len;
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
61 // play it
814
13805b1ca0f7 dump to file
arpi_esp
parents: 788
diff changeset
62 #ifdef DUMP_PCM
13805b1ca0f7 dump to file
arpi_esp
parents: 788
diff changeset
63 fwrite(buffer,len,1,f);
13805b1ca0f7 dump to file
arpi_esp
parents: 788
diff changeset
64 #endif
788
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
65 //putchar('.');fflush(stdout);
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
66 }
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
67 time1=GetTimer()-time1;
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
68 length=(float)total/(float)(MP3_samplerate*MP3_channels*2);
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
69 printf("\nDecoding time: %8.6f\n",(float)time1*0.000001f);
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
70 printf("Uncompressed size: %d bytes (%8.3f secs)\n",total,length);
10372
17554a75a654 getcpucaps support
alex
parents: 826
diff changeset
71 printf("CPU usage at normal playback: %5.2f %%\n",time1*0.0001f/length);
788
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
72
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
73 fclose(mp3file);
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
74
214ea3f02d13 test.c added for benchmarking
arpi_esp
parents:
diff changeset
75 }