Mercurial > sdl-ios-xcode
annotate test/testtimer.c @ 4165:3b8ac3d311a2 SDL-1.2
Hello.
This patch provides basic support for video on the Sony PS3
Linux framebuffer. Scaling, format-conversion, and drawing is
done from the SPEs, so there is little performance impact to
PPE applications. This is by no means production quality code,
but it is a very good start and a good example of how to use the
PS3's hardware capabilities to accelerate video playback on
the box.
The driver has been verified to work with ffplay, mplayer and xine.
This piece of software has been developed at the IBM R&D Lab
in Boeblingen, Germany and is now returned to the community.
Enjoy !
Signed-off-by: D.Herrendoerfer < d.herrendoerfer [at] de [dot] ibm [dot] com >
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 02 Apr 2009 04:06:55 +0000 |
parents | 290b5baf2fca |
children | 782fd950bd46 c121d94672cb |
rev | line source |
---|---|
0 | 1 |
2 /* Test program to check the resolution of the SDL timer on the current | |
3 platform | |
4 */ | |
5 | |
6 #include <stdlib.h> | |
7 #include <stdio.h> | |
8 | |
9 #include "SDL.h" | |
10 | |
11 #define DEFAULT_RESOLUTION 1 | |
12 | |
13 static int ticks = 0; | |
14 | |
1769 | 15 static Uint32 SDLCALL ticktock(Uint32 interval) |
0 | 16 { |
17 ++ticks; | |
18 return(interval); | |
19 } | |
20 | |
1769 | 21 static Uint32 SDLCALL callback(Uint32 interval, void *param) |
0 | 22 { |
1615
d5298e8f22b3
Ugh, more 64-bit cleanup
Sam Lantinga <slouken@libsdl.org>
parents:
1500
diff
changeset
|
23 printf("Timer %d : param = %d\n", interval, (int)(uintptr_t)param); |
0 | 24 return interval; |
25 } | |
26 | |
27 int main(int argc, char *argv[]) | |
28 { | |
29 int desired; | |
30 SDL_TimerID t1, t2, t3; | |
31 | |
32 if ( SDL_Init(SDL_INIT_TIMER) < 0 ) { | |
1484
b2b476a4a73c
Added documentation on how to build a completely useless SDL library. :)
Sam Lantinga <slouken@libsdl.org>
parents:
1151
diff
changeset
|
33 fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError()); |
1151
be9c9c8f6d53
Removed atexit() from most of the test programs; atexit(SDL_Quit) isn't safe
Ryan C. Gordon <icculus@icculus.org>
parents:
766
diff
changeset
|
34 return(1); |
0 | 35 } |
36 | |
37 /* Start the timer */ | |
38 desired = 0; | |
39 if ( argv[1] ) { | |
40 desired = atoi(argv[1]); | |
41 } | |
42 if ( desired == 0 ) { | |
43 desired = DEFAULT_RESOLUTION; | |
44 } | |
45 SDL_SetTimer(desired, ticktock); | |
46 | |
47 /* Wait 10 seconds */ | |
48 printf("Waiting 10 seconds\n"); | |
49 SDL_Delay(10*1000); | |
50 | |
51 /* Stop the timer */ | |
52 SDL_SetTimer(0, NULL); | |
53 | |
54 /* Print the results */ | |
55 if ( ticks ) { | |
56 fprintf(stderr, | |
57 "Timer resolution: desired = %d ms, actual = %f ms\n", | |
58 desired, (double)(10*1000)/ticks); | |
59 } | |
60 | |
61 /* Test multiple timers */ | |
62 printf("Testing multiple timers...\n"); | |
63 t1 = SDL_AddTimer(100, callback, (void*)1); | |
64 if(!t1) | |
766
ed57c876700d
Date: Wed, 26 Nov 2003 01:52:02 +0800
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
65 fprintf(stderr,"Could not create timer 1: %s\n", SDL_GetError()); |
0 | 66 t2 = SDL_AddTimer(50, callback, (void*)2); |
67 if(!t2) | |
766
ed57c876700d
Date: Wed, 26 Nov 2003 01:52:02 +0800
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
68 fprintf(stderr,"Could not create timer 2: %s\n", SDL_GetError()); |
0 | 69 t3 = SDL_AddTimer(233, callback, (void*)3); |
70 if(!t3) | |
766
ed57c876700d
Date: Wed, 26 Nov 2003 01:52:02 +0800
Sam Lantinga <slouken@libsdl.org>
parents:
0
diff
changeset
|
71 fprintf(stderr,"Could not create timer 3: %s\n", SDL_GetError()); |
0 | 72 |
73 /* Wait 10 seconds */ | |
74 printf("Waiting 10 seconds\n"); | |
75 SDL_Delay(10*1000); | |
76 | |
77 printf("Removing timer 1 and waiting 5 more seconds\n"); | |
78 SDL_RemoveTimer(t1); | |
79 | |
80 SDL_Delay(5*1000); | |
81 | |
82 SDL_RemoveTimer(t2); | |
83 SDL_RemoveTimer(t3); | |
84 | |
1151
be9c9c8f6d53
Removed atexit() from most of the test programs; atexit(SDL_Quit) isn't safe
Ryan C. Gordon <icculus@icculus.org>
parents:
766
diff
changeset
|
85 SDL_Quit(); |
0 | 86 return(0); |
87 } |