Mercurial > sdl-ios-xcode
view 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 |
line wrap: on
line source
/* Test program to check the resolution of the SDL timer on the current platform */ #include <stdlib.h> #include <stdio.h> #include "SDL.h" #define DEFAULT_RESOLUTION 1 static int ticks = 0; static Uint32 SDLCALL ticktock(Uint32 interval) { ++ticks; return(interval); } static Uint32 SDLCALL callback(Uint32 interval, void *param) { printf("Timer %d : param = %d\n", interval, (int)(uintptr_t)param); return interval; } int main(int argc, char *argv[]) { int desired; SDL_TimerID t1, t2, t3; if ( SDL_Init(SDL_INIT_TIMER) < 0 ) { fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError()); return(1); } /* Start the timer */ desired = 0; if ( argv[1] ) { desired = atoi(argv[1]); } if ( desired == 0 ) { desired = DEFAULT_RESOLUTION; } SDL_SetTimer(desired, ticktock); /* Wait 10 seconds */ printf("Waiting 10 seconds\n"); SDL_Delay(10*1000); /* Stop the timer */ SDL_SetTimer(0, NULL); /* Print the results */ if ( ticks ) { fprintf(stderr, "Timer resolution: desired = %d ms, actual = %f ms\n", desired, (double)(10*1000)/ticks); } /* Test multiple timers */ printf("Testing multiple timers...\n"); t1 = SDL_AddTimer(100, callback, (void*)1); if(!t1) fprintf(stderr,"Could not create timer 1: %s\n", SDL_GetError()); t2 = SDL_AddTimer(50, callback, (void*)2); if(!t2) fprintf(stderr,"Could not create timer 2: %s\n", SDL_GetError()); t3 = SDL_AddTimer(233, callback, (void*)3); if(!t3) fprintf(stderr,"Could not create timer 3: %s\n", SDL_GetError()); /* Wait 10 seconds */ printf("Waiting 10 seconds\n"); SDL_Delay(10*1000); printf("Removing timer 1 and waiting 5 more seconds\n"); SDL_RemoveTimer(t1); SDL_Delay(5*1000); SDL_RemoveTimer(t2); SDL_RemoveTimer(t3); SDL_Quit(); return(0); }