diff options
-rw-r--r-- | config.c | 17 | ||||
-rw-r--r-- | config.h | 14 |
2 files changed, 29 insertions, 2 deletions
@@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: config.c,v 1.83 2009-08-02 11:44:10 phintuka Exp $ + * $Id: config.c,v 1.84 2009-08-07 12:18:06 phintuka Exp $ * */ @@ -236,6 +236,15 @@ const char * const config_t::s_osdScalings[] = { NULL }; +const char * const config_t::s_osdSizes[] = { + trNOOP("automatic"), + "720x576", + "1280x720", + "1920x1080", + trNOOP("custom"), + NULL +}; + const char * const config_t::s_decoders_MPEG2[] = { trNOOP("automatic"), "libmpeg2", @@ -566,6 +575,9 @@ config_t::config_t() { display_aspect = 0; /* auto */ hide_main_menu = 0; + osd_size = OSD_SIZE_auto; + osd_width = 720; + osd_height = 576; osd_mixer = OSD_MIXER_FULL; osd_scaling = OSD_SCALING_NEAREST; hud_osd = 0; @@ -805,6 +817,9 @@ bool config_t::SetupParse(const char *Name, const char *Value) else if (!strcasecmp(Name, "Audio.SoftwareVolumeControl")) sw_volume_control = atoi(Value); else if (!strcasecmp(Name, "OSD.HideMainMenu")) hide_main_menu = atoi(Value); + else if (!strcasecmp(Name, "OSD.Size")) osd_size = strstra(Value, s_osdSizes, 0); + else if (!strcasecmp(Name, "OSD.Width")) osd_width = atoi(Value); + else if (!strcasecmp(Name, "OSD.Height")) osd_height = atoi(Value); else if (!strcasecmp(Name, "OSD.LayersVisible")) osd_mixer = atoi(Value); else if (!strcasecmp(Name, "OSD.Scaling")) osd_scaling = atoi(Value); else if (!strcasecmp(Name, "OSD.Blending")) osd_blending = atoi(Value); @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: config.h,v 1.62 2009-08-02 11:44:10 phintuka Exp $ + * $Id: config.h,v 1.63 2009-08-07 12:18:07 phintuka Exp $ * */ @@ -158,6 +158,14 @@ #define OSD_SCALING_BILINEAR 2 #define OSD_SCALING_count 3 +// OSD size +#define OSD_SIZE_auto 0 // frontend display resolution +#define OSD_SIZE_720x576 1 +#define OSD_SIZE_1280x720 2 +#define OSD_SIZE_1920x1080 3 +#define OSD_SIZE_custom 4 +#define OSD_SIZE_count 5 + // Video decoder #define DECODER_MPEG2_auto 0 /* use value from frontend config_xineliboutput */ #define DECODER_MPEG2_LIBMPEG2 1 @@ -225,6 +233,7 @@ class config_t { static const char * const s_osdBlendingMethods [OSD_BLENDING_count + 1]; static const char * const s_osdMixers [OSD_MIXER_count + 1]; static const char * const s_osdScalings [OSD_SCALING_count + 1]; + static const char * const s_osdSizes [OSD_SIZE_count + 1]; static const char * const s_decoders_MPEG2 [DECODER_MPEG2_count + 1]; static const char * const s_decoders_H264 [DECODER_H264_count + 1]; static const char * const s_ff_skip_loop_filters [FF_H264_SKIP_LOOPFILTER_count + 1]; @@ -283,6 +292,9 @@ class config_t { // OSD settings eMainMenuMode main_menu_mode; // used internally to open right sub-menu int hide_main_menu; + int osd_size; + int osd_width; + int osd_height; int osd_mixer; // show multiple OSD layers int osd_scaling; // OSD scaling mode: off, nearest, bilinear int hud_osd; // head up display OSD |