comparison test/common.c @ 4982:660d3a432102

Added some missing pixel formats and SDL_GetPixelFormatName()
author Sam Lantinga <slouken@libsdl.org>
date Wed, 12 Jan 2011 14:53:23 -0800
parents aa8888658021
children 686d795b1b29
comparison
equal deleted inserted replaced
4981:55b82067815b 4982:660d3a432102
8 #define VIDEO_USAGE \ 8 #define VIDEO_USAGE \
9 "[--video driver] [--renderer driver] [--info all|video|modes|render|event] [--display N] [--fullscreen | --windows N] [--title title] [--icon icon.bmp] [--center | --position X,Y] [--geometry WxH] [--depth N] [--refresh R] [--vsync] [--noframe] [--resize] [--minimize] [--maximize] [--grab] [--double] [--triple]" 9 "[--video driver] [--renderer driver] [--info all|video|modes|render|event] [--display N] [--fullscreen | --windows N] [--title title] [--icon icon.bmp] [--center | --position X,Y] [--geometry WxH] [--depth N] [--refresh R] [--vsync] [--noframe] [--resize] [--minimize] [--maximize] [--grab] [--double] [--triple]"
10 10
11 #define AUDIO_USAGE \ 11 #define AUDIO_USAGE \
12 "[--rate N] [--format U8|S8|U16|U16LE|U16BE|S16|S16LE|S16BE] [--channels N] [--samples N]" 12 "[--rate N] [--format U8|S8|U16|U16LE|U16BE|S16|S16LE|S16BE] [--channels N] [--samples N]"
13
14 struct pformat {
15 Uint32 id;
16 const char* idstr;
17 } pixel_format[]={
18 {SDL_PIXELFORMAT_INDEX1LSB, "SDL_PIXELFORMAT_INDEX1LSB"},
19 {SDL_PIXELFORMAT_INDEX1MSB, "SDL_PIXELFORMAT_INDEX1MSB"},
20 {SDL_PIXELFORMAT_INDEX4LSB, "SDL_PIXELFORMAT_INDEX4LSB"},
21 {SDL_PIXELFORMAT_INDEX4MSB, "SDL_PIXELFORMAT_INDEX4MSB"},
22 {SDL_PIXELFORMAT_INDEX8, "SDL_PIXELFORMAT_INDEX8"},
23 {SDL_PIXELFORMAT_RGB332, "SDL_PIXELFORMAT_RGB332"},
24 {SDL_PIXELFORMAT_RGB444, "SDL_PIXELFORMAT_RGB444"},
25 {SDL_PIXELFORMAT_RGB555, "SDL_PIXELFORMAT_RGB555"},
26 {SDL_PIXELFORMAT_BGR555, "SDL_PIXELFORMAT_BGR555"},
27 {SDL_PIXELFORMAT_ARGB4444, "SDL_PIXELFORMAT_ARGB4444"},
28 {SDL_PIXELFORMAT_ABGR4444, "SDL_PIXELFORMAT_ABGR4444"},
29 {SDL_PIXELFORMAT_ARGB1555, "SDL_PIXELFORMAT_ARGB1555"},
30 {SDL_PIXELFORMAT_ABGR1555, "SDL_PIXELFORMAT_ABGR1555"},
31 {SDL_PIXELFORMAT_RGB565, "SDL_PIXELFORMAT_RGB565"},
32 {SDL_PIXELFORMAT_BGR565, "SDL_PIXELFORMAT_BGR565"},
33 {SDL_PIXELFORMAT_RGB24, "SDL_PIXELFORMAT_RGB24"},
34 {SDL_PIXELFORMAT_BGR24, "SDL_PIXELFORMAT_BGR24"},
35 {SDL_PIXELFORMAT_RGB888, "SDL_PIXELFORMAT_RGB888"},
36 {SDL_PIXELFORMAT_BGR888, "SDL_PIXELFORMAT_BGR888"},
37 {SDL_PIXELFORMAT_ARGB8888, "SDL_PIXELFORMAT_ARGB8888"},
38 {SDL_PIXELFORMAT_RGBA8888, "SDL_PIXELFORMAT_RGBA8888"},
39 {SDL_PIXELFORMAT_ABGR8888, "SDL_PIXELFORMAT_ABGR8888"},
40 {SDL_PIXELFORMAT_BGRA8888, "SDL_PIXELFORMAT_BGRA8888"},
41 {SDL_PIXELFORMAT_ARGB2101010, "SDL_PIXELFORMAT_ARGB2101010"},
42 {SDL_PIXELFORMAT_YV12, "SDL_PIXELFORMAT_YV12"},
43 {SDL_PIXELFORMAT_IYUV, "SDL_PIXELFORMAT_IYUV"},
44 {SDL_PIXELFORMAT_YUY2, "SDL_PIXELFORMAT_YUY2"},
45 {SDL_PIXELFORMAT_UYVY, "SDL_PIXELFORMAT_UYVY"},
46 {SDL_PIXELFORMAT_YVYU, "SDL_PIXELFORMAT_YVYU"}
47 };
48
49 const char* PixelFormatToString(Uint32 pformat)
50 {
51 Uint32 it=0;
52
53 do {
54 if (pixel_format[it].idstr == NULL) {
55 break;
56 }
57 if (pixel_format[it].id == pformat) {
58 return pixel_format[it].idstr;
59 }
60 it++;
61 } while(1);
62
63 return "SDL_PIXELFORMAT_UNKNOWN";
64 }
65 13
66 CommonState * 14 CommonState *
67 CommonCreateState(char **argv, Uint32 flags) 15 CommonCreateState(char **argv, Uint32 flags)
68 { 16 {
69 CommonState *state = SDL_calloc(1, sizeof(*state)); 17 CommonState *state = SDL_calloc(1, sizeof(*state));
717 SDL_PixelFormatEnumToMasks(mode.format, &bpp, &Rmask, &Gmask, 665 SDL_PixelFormatEnumToMasks(mode.format, &bpp, &Rmask, &Gmask,
718 &Bmask, &Amask); 666 &Bmask, &Amask);
719 fprintf(stderr, 667 fprintf(stderr,
720 " Current mode: %dx%d@%dHz, %d bits-per-pixel (%s)\n", 668 " Current mode: %dx%d@%dHz, %d bits-per-pixel (%s)\n",
721 mode.w, mode.h, mode.refresh_rate, bpp, 669 mode.w, mode.h, mode.refresh_rate, bpp,
722 PixelFormatToString(mode.format)); 670 SDL_GetPixelFormatName(mode.format));
723 if (Rmask || Gmask || Bmask) { 671 if (Rmask || Gmask || Bmask) {
724 fprintf(stderr, " Red Mask = 0x%.8x\n", Rmask); 672 fprintf(stderr, " Red Mask = 0x%.8x\n", Rmask);
725 fprintf(stderr, " Green Mask = 0x%.8x\n", Gmask); 673 fprintf(stderr, " Green Mask = 0x%.8x\n", Gmask);
726 fprintf(stderr, " Blue Mask = 0x%.8x\n", Bmask); 674 fprintf(stderr, " Blue Mask = 0x%.8x\n", Bmask);
727 if (Amask) 675 if (Amask)
739 SDL_PixelFormatEnumToMasks(mode.format, &bpp, &Rmask, 687 SDL_PixelFormatEnumToMasks(mode.format, &bpp, &Rmask,
740 &Gmask, &Bmask, &Amask); 688 &Gmask, &Bmask, &Amask);
741 fprintf(stderr, 689 fprintf(stderr,
742 " Mode %d: %dx%d@%dHz, %d bits-per-pixel (%s)\n", 690 " Mode %d: %dx%d@%dHz, %d bits-per-pixel (%s)\n",
743 j, mode.w, mode.h, mode.refresh_rate, bpp, 691 j, mode.w, mode.h, mode.refresh_rate, bpp,
744 PixelFormatToString(mode.format)); 692 SDL_GetPixelFormatName(mode.format));
745 if (Rmask || Gmask || Bmask) { 693 if (Rmask || Gmask || Bmask) {
746 fprintf(stderr, " Red Mask = 0x%.8x\n", 694 fprintf(stderr, " Red Mask = 0x%.8x\n",
747 Rmask); 695 Rmask);
748 fprintf(stderr, " Green Mask = 0x%.8x\n", 696 fprintf(stderr, " Green Mask = 0x%.8x\n",
749 Gmask); 697 Gmask);