SDL pixel format string is printed near mode number in form of SDL_PIXELFORMAT_XXXXX, when --info option is passed. It is usefull for debugging.
--HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403642
This commit is contained in:
parent
05b71a0fbd
commit
e51e3cfd1c
1 changed files with 79 additions and 9 deletions
|
@ -11,6 +11,58 @@
|
|||
#define AUDIO_USAGE \
|
||||
"[--rate N] [--format U8|S8|U16|U16LE|U16BE|S16|S16LE|S16BE] [--channels N] [--samples N]"
|
||||
|
||||
struct pformat {
|
||||
Uint32 id;
|
||||
const char* idstr;
|
||||
} pixel_format[]={
|
||||
{SDL_PIXELFORMAT_INDEX1LSB, "SDL_PIXELFORMAT_INDEX1LSB"},
|
||||
{SDL_PIXELFORMAT_INDEX1MSB, "SDL_PIXELFORMAT_INDEX1MSB"},
|
||||
{SDL_PIXELFORMAT_INDEX4LSB, "SDL_PIXELFORMAT_INDEX4LSB"},
|
||||
{SDL_PIXELFORMAT_INDEX4MSB, "SDL_PIXELFORMAT_INDEX4MSB"},
|
||||
{SDL_PIXELFORMAT_INDEX8, "SDL_PIXELFORMAT_INDEX8"},
|
||||
{SDL_PIXELFORMAT_RGB332, "SDL_PIXELFORMAT_RGB332"},
|
||||
{SDL_PIXELFORMAT_RGB444, "SDL_PIXELFORMAT_RGB444"},
|
||||
{SDL_PIXELFORMAT_RGB555, "SDL_PIXELFORMAT_RGB555"},
|
||||
{SDL_PIXELFORMAT_BGR555, "SDL_PIXELFORMAT_BGR555"},
|
||||
{SDL_PIXELFORMAT_ARGB4444, "SDL_PIXELFORMAT_ARGB4444"},
|
||||
{SDL_PIXELFORMAT_ABGR4444, "SDL_PIXELFORMAT_ABGR4444"},
|
||||
{SDL_PIXELFORMAT_ARGB1555, "SDL_PIXELFORMAT_ARGB1555"},
|
||||
{SDL_PIXELFORMAT_ABGR1555, "SDL_PIXELFORMAT_ABGR1555"},
|
||||
{SDL_PIXELFORMAT_RGB565, "SDL_PIXELFORMAT_RGB565"},
|
||||
{SDL_PIXELFORMAT_BGR565, "SDL_PIXELFORMAT_BGR565"},
|
||||
{SDL_PIXELFORMAT_RGB24, "SDL_PIXELFORMAT_RGB24"},
|
||||
{SDL_PIXELFORMAT_BGR24, "SDL_PIXELFORMAT_BGR24"},
|
||||
{SDL_PIXELFORMAT_RGB888, "SDL_PIXELFORMAT_RGB888"},
|
||||
{SDL_PIXELFORMAT_BGR888, "SDL_PIXELFORMAT_BGR888"},
|
||||
{SDL_PIXELFORMAT_ARGB8888, "SDL_PIXELFORMAT_ARGB8888"},
|
||||
{SDL_PIXELFORMAT_RGBA8888, "SDL_PIXELFORMAT_RGBA8888"},
|
||||
{SDL_PIXELFORMAT_ABGR8888, "SDL_PIXELFORMAT_ABGR8888"},
|
||||
{SDL_PIXELFORMAT_BGRA8888, "SDL_PIXELFORMAT_BGRA8888"},
|
||||
{SDL_PIXELFORMAT_ARGB2101010, "SDL_PIXELFORMAT_ARGB2101010"},
|
||||
{SDL_PIXELFORMAT_YV12, "SDL_PIXELFORMAT_YV12"},
|
||||
{SDL_PIXELFORMAT_IYUV, "SDL_PIXELFORMAT_IYUV"},
|
||||
{SDL_PIXELFORMAT_YUY2, "SDL_PIXELFORMAT_YUY2"},
|
||||
{SDL_PIXELFORMAT_UYVY, "SDL_PIXELFORMAT_UYVY"},
|
||||
{SDL_PIXELFORMAT_YVYU, "SDL_PIXELFORMAT_YVYU"}
|
||||
};
|
||||
|
||||
const char* PixelFormatToString(Uint32 pformat)
|
||||
{
|
||||
Uint32 it=0;
|
||||
|
||||
do {
|
||||
if (pixel_format[it].idstr == NULL) {
|
||||
break;
|
||||
}
|
||||
if (pixel_format[it].id == pformat) {
|
||||
return pixel_format[it].idstr;
|
||||
}
|
||||
it++;
|
||||
} while(1);
|
||||
|
||||
return "SDL_PIXELFORMAT_UNKNOWN";
|
||||
}
|
||||
|
||||
CommonState *
|
||||
CommonCreateState(char **argv, Uint32 flags)
|
||||
{
|
||||
|
@ -399,12 +451,21 @@ PrintPixelFormat(Uint32 format)
|
|||
case SDL_PIXELFORMAT_ARGB4444:
|
||||
fprintf(stderr, "ARGB4444");
|
||||
break;
|
||||
case SDL_PIXELFORMAT_ABGR4444:
|
||||
fprintf(stderr, "ABGR4444");
|
||||
break;
|
||||
case SDL_PIXELFORMAT_ARGB1555:
|
||||
fprintf(stderr, "ARGB1555");
|
||||
break;
|
||||
case SDL_PIXELFORMAT_ABGR1555:
|
||||
fprintf(stderr, "ABGR1555");
|
||||
break;
|
||||
case SDL_PIXELFORMAT_RGB565:
|
||||
fprintf(stderr, "RGB565");
|
||||
break;
|
||||
case SDL_PIXELFORMAT_BGR565:
|
||||
fprintf(stderr, "BGR565");
|
||||
break;
|
||||
case SDL_PIXELFORMAT_RGB24:
|
||||
fprintf(stderr, "RGB24");
|
||||
break;
|
||||
|
@ -567,12 +628,13 @@ CommonInit(CommonState * state)
|
|||
SDL_PixelFormatEnumToMasks(mode.format, &bpp, &Rmask, &Gmask,
|
||||
&Bmask, &Amask);
|
||||
fprintf(stderr,
|
||||
" Current mode: %dx%d@%dHz, %d bits-per-pixel\n",
|
||||
mode.w, mode.h, mode.refresh_rate, bpp);
|
||||
" Current mode: %dx%d@%dHz, %d bits-per-pixel (%s)\n",
|
||||
mode.w, mode.h, mode.refresh_rate, bpp,
|
||||
PixelFormatToString(mode.format));
|
||||
if (Rmask || Gmask || Bmask) {
|
||||
fprintf(stderr, " Red Mask = 0x%.8x\n", Rmask);
|
||||
fprintf(stderr, " Red Mask = 0x%.8x\n", Rmask);
|
||||
fprintf(stderr, " Green Mask = 0x%.8x\n", Gmask);
|
||||
fprintf(stderr, " Blue Mask = 0x%.8x\n", Bmask);
|
||||
fprintf(stderr, " Blue Mask = 0x%.8x\n", Bmask);
|
||||
if (Amask)
|
||||
fprintf(stderr, " Alpha Mask = 0x%.8x\n", Amask);
|
||||
}
|
||||
|
@ -588,14 +650,15 @@ CommonInit(CommonState * state)
|
|||
SDL_PixelFormatEnumToMasks(mode.format, &bpp, &Rmask,
|
||||
&Gmask, &Bmask, &Amask);
|
||||
fprintf(stderr,
|
||||
" Mode %d: %dx%d@%dHz, %d bits-per-pixel\n",
|
||||
j, mode.w, mode.h, mode.refresh_rate, bpp);
|
||||
" Mode %d: %dx%d@%dHz, %d bits-per-pixel (%s)\n",
|
||||
j, mode.w, mode.h, mode.refresh_rate, bpp,
|
||||
PixelFormatToString(mode.format));
|
||||
if (Rmask || Gmask || Bmask) {
|
||||
fprintf(stderr, " Red Mask = 0x%.8x\n",
|
||||
fprintf(stderr, " Red Mask = 0x%.8x\n",
|
||||
Rmask);
|
||||
fprintf(stderr, " Green Mask = 0x%.8x\n",
|
||||
Gmask);
|
||||
fprintf(stderr, " Blue Mask = 0x%.8x\n",
|
||||
fprintf(stderr, " Blue Mask = 0x%.8x\n",
|
||||
Bmask);
|
||||
if (Amask)
|
||||
fprintf(stderr,
|
||||
|
@ -633,6 +696,9 @@ CommonInit(CommonState * state)
|
|||
case 16:
|
||||
fullscreen_mode.format = SDL_PIXELFORMAT_RGB565;
|
||||
break;
|
||||
case 24:
|
||||
fullscreen_mode.format = SDL_PIXELFORMAT_RGB24;
|
||||
break;
|
||||
default:
|
||||
fullscreen_mode.format = SDL_PIXELFORMAT_RGB888;
|
||||
break;
|
||||
|
@ -640,7 +706,11 @@ CommonInit(CommonState * state)
|
|||
fullscreen_mode.w = state->window_w;
|
||||
fullscreen_mode.h = state->window_h;
|
||||
fullscreen_mode.refresh_rate = state->refresh_rate;
|
||||
SDL_SetFullscreenDisplayMode(&fullscreen_mode);
|
||||
if (SDL_SetFullscreenDisplayMode(&fullscreen_mode)<0) {
|
||||
fprintf(stderr, "Can't switch to fullscreen display mode: %s\n",
|
||||
SDL_GetError());
|
||||
return SDL_FALSE;
|
||||
}
|
||||
|
||||
state->windows =
|
||||
(SDL_WindowID *) SDL_malloc(state->num_windows *
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue