mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-28 16:01:20 +02:00
neutrino: add TANK video modes (we only support RGB / YPBPR on both cinch and scart at the same time).
This commit is contained in:
@@ -1774,6 +1774,10 @@ videomenu.analog_sd_rgb_cinch RGB -> Cinch (SD)
|
|||||||
videomenu.analog_sd_rgb_scart RGB -> Scart (SD)
|
videomenu.analog_sd_rgb_scart RGB -> Scart (SD)
|
||||||
videomenu.analog_sd_yprpb_cinch YPbPr -> Cinch (SD)
|
videomenu.analog_sd_yprpb_cinch YPbPr -> Cinch (SD)
|
||||||
videomenu.analog_sd_yprpb_scart YPbPr -> Scart (SD)
|
videomenu.analog_sd_yprpb_scart YPbPr -> Scart (SD)
|
||||||
|
videomenu.analog_hd_rgb RGB (HD)
|
||||||
|
videomenu.analog_hd_yprpb YPbPr(HD)
|
||||||
|
videomenu.analog_sd_rgb RGB (SD)
|
||||||
|
videomenu.analog_sd_yprpb YPbPr (SD)
|
||||||
videomenu.auto Automatisch
|
videomenu.auto Automatisch
|
||||||
videomenu.brightness Helligkeit
|
videomenu.brightness Helligkeit
|
||||||
videomenu.cinch Cinch
|
videomenu.cinch Cinch
|
||||||
|
@@ -1774,6 +1774,10 @@ videomenu.analog_sd_rgb_cinch RGB on cinch (SD)
|
|||||||
videomenu.analog_sd_rgb_scart RGB on scart (SD)
|
videomenu.analog_sd_rgb_scart RGB on scart (SD)
|
||||||
videomenu.analog_sd_yprpb_cinch YPbPr on cinch (SD)
|
videomenu.analog_sd_yprpb_cinch YPbPr on cinch (SD)
|
||||||
videomenu.analog_sd_yprpb_scart YPbPr on scart (SD)
|
videomenu.analog_sd_yprpb_scart YPbPr on scart (SD)
|
||||||
|
videomenu.analog_hd_rgb RGB (HD)
|
||||||
|
videomenu.analog_hd_yprpb YPbPr(HD)
|
||||||
|
videomenu.analog_sd_rgb RGB (SD)
|
||||||
|
videomenu.analog_sd_yprpb YPbPr (SD)
|
||||||
videomenu.auto Auto
|
videomenu.auto Auto
|
||||||
videomenu.brightness Brightness
|
videomenu.brightness Brightness
|
||||||
videomenu.cinch Cinch
|
videomenu.cinch Cinch
|
||||||
|
@@ -22,17 +22,21 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
ANALOG_SD_RGB_CINCH = 0x00,
|
// Video modes
|
||||||
ANALOG_SD_YPRPB_CINCH,
|
ANALOG_xD_CVBS = (1 << 0), // Turns off fastblank on SCART
|
||||||
ANALOG_HD_RGB_CINCH,
|
ANALOG_SD_RGB = (1 << 1), // Output SD in RGB format
|
||||||
ANALOG_HD_YPRPB_CINCH,
|
ANALOG_SD_YPRPB = (1 << 2), // Output SD in YPbPr format (component)
|
||||||
ANALOG_SD_RGB_SCART = 0x10,
|
ANALOG_HD_RGB = (1 << 3), // Output HD in RGB format
|
||||||
ANALOG_SD_YPRPB_SCART,
|
ANALOG_HD_YPRPB = (1 << 4), // Output HD in YPbPr format (component)
|
||||||
ANALOG_HD_RGB_SCART,
|
// Output types
|
||||||
ANALOG_HD_YPRPB_SCART,
|
ANALOG_xD_SCART = (1 << 8), // Output is SCART
|
||||||
ANALOG_SCART_MASK = 0x10
|
ANALOG_xD_CINCH = (1 << 9), // Output is Cinch
|
||||||
|
ANALOG_xD_BOTH = (3 << 8), // Output cannot individually control scart, cinch outputs
|
||||||
|
// due to limited amount of DACs (ie TANK, Trinity)
|
||||||
} analog_mode_t;
|
} analog_mode_t;
|
||||||
|
|
||||||
|
#define ANALOG_MODE(conn, def, sys) (ANALOG_##def##_##sys | ANALOG_xD_##conn)
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
VIDEO_FORMAT_MPEG2 = 0,
|
VIDEO_FORMAT_MPEG2 = 0,
|
||||||
@@ -185,7 +189,6 @@ private:
|
|||||||
public:
|
public:
|
||||||
/* constructor & destructor */
|
/* constructor & destructor */
|
||||||
cVideo(int mode, void * hChannel, void * hBuffer);
|
cVideo(int mode, void * hChannel, void * hBuffer);
|
||||||
|
|
||||||
~cVideo(void);
|
~cVideo(void);
|
||||||
|
|
||||||
void * GetVPP(void);
|
void * GetVPP(void);
|
||||||
|
@@ -107,23 +107,34 @@ const CMenuOptionChooser::keyval VIDEOMENU_43MODE_OPTIONS[VIDEOMENU_43MODE_OPTIO
|
|||||||
#define VIDEOMENU_VIDEOSIGNAL_HD1_OPTION_COUNT 8
|
#define VIDEOMENU_VIDEOSIGNAL_HD1_OPTION_COUNT 8
|
||||||
const CMenuOptionChooser::keyval VIDEOMENU_VIDEOSIGNAL_HD1_OPTIONS[VIDEOMENU_VIDEOSIGNAL_HD1_OPTION_COUNT] =
|
const CMenuOptionChooser::keyval VIDEOMENU_VIDEOSIGNAL_HD1_OPTIONS[VIDEOMENU_VIDEOSIGNAL_HD1_OPTION_COUNT] =
|
||||||
{
|
{
|
||||||
{ ANALOG_SD_RGB_SCART, LOCALE_VIDEOMENU_ANALOG_SD_RGB_SCART }, /* composite + RGB (for both SCART and Cinch) */
|
{ ANALOG_MODE(SCART,SD,RGB ), LOCALE_VIDEOMENU_ANALOG_SD_RGB_SCART }, /* composite + RGB (for both SCART and Cinch) */
|
||||||
{ ANALOG_SD_RGB_CINCH, LOCALE_VIDEOMENU_ANALOG_SD_RGB_CINCH }, /* composite + RGB (for both SCART and Cinch) */
|
{ ANALOG_MODE(CINCH,SD,RGB ), LOCALE_VIDEOMENU_ANALOG_SD_RGB_CINCH }, /* composite + RGB (for both SCART and Cinch) */
|
||||||
{ ANALOG_SD_YPRPB_SCART, LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_SCART }, /* YPbPr SCART (with wrongly connected Cinch) */
|
{ ANALOG_MODE(SCART,SD,YPRPB), LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_SCART }, /* YPbPr SCART (with wrongly connected Cinch) */
|
||||||
{ ANALOG_SD_YPRPB_CINCH, LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_CINCH }, /* YPbPr Cinch (with wrongly connected SCART) */
|
{ ANALOG_MODE(CINCH,SD,YPRPB), LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_CINCH }, /* YPbPr Cinch (with wrongly connected SCART) */
|
||||||
{ ANALOG_HD_RGB_SCART, LOCALE_VIDEOMENU_ANALOG_HD_RGB_SCART },
|
{ ANALOG_MODE(SCART,HD,RGB ), LOCALE_VIDEOMENU_ANALOG_HD_RGB_SCART },
|
||||||
{ ANALOG_HD_RGB_CINCH, LOCALE_VIDEOMENU_ANALOG_HD_RGB_CINCH },
|
{ ANALOG_MODE(CINCH,HD,RGB ), LOCALE_VIDEOMENU_ANALOG_HD_RGB_CINCH },
|
||||||
{ ANALOG_HD_YPRPB_SCART, LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_SCART },
|
{ ANALOG_MODE(SCART,HD,YPRPB), LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_SCART },
|
||||||
{ ANALOG_HD_YPRPB_CINCH, LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_CINCH }
|
{ ANALOG_MODE(CINCH,HD,YPRPB), LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_CINCH }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef ISAPOLLO
|
||||||
|
#define VIDEOMENU_VIDEOSIGNAL_TANK_OPTION_COUNT 4
|
||||||
|
const CMenuOptionChooser::keyval VIDEOMENU_VIDEOSIGNAL_TANK_OPTIONS[VIDEOMENU_VIDEOSIGNAL_TANK_OPTION_COUNT] =
|
||||||
|
{
|
||||||
|
{ ANALOG_MODE(BOTH ,SD,RGB ), LOCALE_VIDEOMENU_ANALOG_SD_RGB }, /* Scart and Cinch */
|
||||||
|
{ ANALOG_MODE(BOTH ,SD,YPRPB), LOCALE_VIDEOMENU_ANALOG_SD_YPRPB }, /* */
|
||||||
|
{ ANALOG_MODE(BOTH ,HD,RGB ), LOCALE_VIDEOMENU_ANALOG_HD_RGB }, /* */
|
||||||
|
{ ANALOG_MODE(BOTH ,HD,YPRPB), LOCALE_VIDEOMENU_ANALOG_HD_YPRPB }, /* */
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
#define VIDEOMENU_VIDEOSIGNAL_HD1PLUS_SCART_OPTION_COUNT 4
|
#define VIDEOMENU_VIDEOSIGNAL_HD1PLUS_SCART_OPTION_COUNT 4
|
||||||
const CMenuOptionChooser::keyval VIDEOMENU_VIDEOSIGNAL_HD1PLUS_SCART_OPTIONS[VIDEOMENU_VIDEOSIGNAL_HD1PLUS_SCART_OPTION_COUNT] =
|
const CMenuOptionChooser::keyval VIDEOMENU_VIDEOSIGNAL_HD1PLUS_SCART_OPTIONS[VIDEOMENU_VIDEOSIGNAL_HD1PLUS_SCART_OPTION_COUNT] =
|
||||||
{
|
{
|
||||||
{ ANALOG_SD_RGB_SCART, LOCALE_VIDEOMENU_ANALOG_SD_RGB_SCART }, /* composite + RGB */
|
{ ANALOG_MODE(SCART,SD,RGB ), LOCALE_VIDEOMENU_ANALOG_SD_RGB_SCART }, /* composite + RGB */
|
||||||
{ ANALOG_SD_YPRPB_SCART, LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_SCART }, /* YPbPr SCART */
|
{ ANALOG_MODE(SCART,SD,YPRPB), LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_SCART }, /* YPbPr SCART */
|
||||||
{ ANALOG_HD_RGB_SCART, LOCALE_VIDEOMENU_ANALOG_HD_RGB_SCART },
|
{ ANALOG_MODE(SCART,HD,RGB ), LOCALE_VIDEOMENU_ANALOG_HD_RGB_SCART },
|
||||||
{ ANALOG_HD_YPRPB_SCART, LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_SCART },
|
{ ANALOG_MODE(SCART,HD,YPRPB), LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_SCART },
|
||||||
};
|
};
|
||||||
|
|
||||||
// #define VIDEOMENU_VCRSIGNAL_OPTION_COUNT 2
|
// #define VIDEOMENU_VCRSIGNAL_OPTION_COUNT 2
|
||||||
@@ -136,10 +147,10 @@ const CMenuOptionChooser::keyval VIDEOMENU_VIDEOSIGNAL_HD1PLUS_SCART_OPTIONS[VID
|
|||||||
#define VIDEOMENU_VIDEOSIGNAL_HD1PLUS_CINCH_OPTION_COUNT 4
|
#define VIDEOMENU_VIDEOSIGNAL_HD1PLUS_CINCH_OPTION_COUNT 4
|
||||||
const CMenuOptionChooser::keyval VIDEOMENU_VIDEOSIGNAL_HD1PLUS_CINCH_OPTIONS[VIDEOMENU_VIDEOSIGNAL_HD1PLUS_CINCH_OPTION_COUNT] =
|
const CMenuOptionChooser::keyval VIDEOMENU_VIDEOSIGNAL_HD1PLUS_CINCH_OPTIONS[VIDEOMENU_VIDEOSIGNAL_HD1PLUS_CINCH_OPTION_COUNT] =
|
||||||
{
|
{
|
||||||
{ ANALOG_SD_RGB_CINCH, LOCALE_VIDEOMENU_ANALOG_SD_RGB_CINCH }, /* composite + RGB (for both SCART and Cinch) */
|
{ ANALOG_MODE(CINCH,SD,RGB ), LOCALE_VIDEOMENU_ANALOG_SD_RGB_CINCH }, /* composite + RGB (for both SCART and Cinch) */
|
||||||
{ ANALOG_SD_YPRPB_CINCH, LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_CINCH }, /* YPbPr Cinch (with wrongly connected SCART) */
|
{ ANALOG_MODE(CINCH,SD,YPRPB), LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_CINCH }, /* YPbPr Cinch (with wrongly connected SCART) */
|
||||||
{ ANALOG_HD_RGB_CINCH, LOCALE_VIDEOMENU_ANALOG_HD_RGB_CINCH },
|
{ ANALOG_MODE(CINCH,HD,RGB ), LOCALE_VIDEOMENU_ANALOG_HD_RGB_CINCH },
|
||||||
{ ANALOG_HD_YPRPB_CINCH, LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_CINCH }
|
{ ANALOG_MODE(CINCH,HD,YPRPB), LOCALE_VIDEOMENU_ANALOG_HD_YPRPB_CINCH }
|
||||||
};
|
};
|
||||||
|
|
||||||
/* numbers corresponding to video.cpp from zapit */
|
/* numbers corresponding to video.cpp from zapit */
|
||||||
@@ -188,7 +199,7 @@ int CVideoSettings::showVideoSetup()
|
|||||||
CMenuOptionChooser * vs_analg_ch = NULL;
|
CMenuOptionChooser * vs_analg_ch = NULL;
|
||||||
CMenuOptionChooser * vs_scart_ch = NULL;
|
CMenuOptionChooser * vs_scart_ch = NULL;
|
||||||
CMenuOptionChooser * vs_chinch_ch = NULL;
|
CMenuOptionChooser * vs_chinch_ch = NULL;
|
||||||
if (system_rev == 0x06)
|
if (system_rev == 0x06 || system_rev == 0x09)
|
||||||
{
|
{
|
||||||
vs_analg_ch = new CMenuOptionChooser(LOCALE_VIDEOMENU_ANALOG_MODE, &g_settings.analog_mode1, VIDEOMENU_VIDEOSIGNAL_HD1_OPTIONS, VIDEOMENU_VIDEOSIGNAL_HD1_OPTION_COUNT, true, this);
|
vs_analg_ch = new CMenuOptionChooser(LOCALE_VIDEOMENU_ANALOG_MODE, &g_settings.analog_mode1, VIDEOMENU_VIDEOSIGNAL_HD1_OPTIONS, VIDEOMENU_VIDEOSIGNAL_HD1_OPTION_COUNT, true, this);
|
||||||
vs_analg_ch->setHint("", LOCALE_MENU_HINT_VIDEO_ANALOG_MODE);
|
vs_analg_ch->setHint("", LOCALE_MENU_HINT_VIDEO_ANALOG_MODE);
|
||||||
|
@@ -294,8 +294,8 @@ int CNeutrinoApp::loadSetup(const char * fname)
|
|||||||
}
|
}
|
||||||
// video
|
// video
|
||||||
g_settings.video_Mode = configfile.getInt32("video_Mode", VIDEO_STD_1080I50); // VIDEO_STD_720P50
|
g_settings.video_Mode = configfile.getInt32("video_Mode", VIDEO_STD_1080I50); // VIDEO_STD_720P50
|
||||||
g_settings.analog_mode1 = configfile.getInt32("analog_mode1", (int)ANALOG_SD_RGB_SCART); // default RGB
|
g_settings.analog_mode1 = configfile.getInt32("analog_mode1", (int)ANALOG_MODE(SCART,SD,RGB)); // default RGB
|
||||||
g_settings.analog_mode2 = configfile.getInt32("analog_mode2", (int)ANALOG_SD_YPRPB_CINCH); // default YPBPR
|
g_settings.analog_mode2 = configfile.getInt32("analog_mode2", (int)ANALOG_MODE(CINCH,SD,YPRPB)); // default YPBPR
|
||||||
g_settings.hdmi_cec_mode = configfile.getInt32("hdmi_cec_mode", 0); // default off
|
g_settings.hdmi_cec_mode = configfile.getInt32("hdmi_cec_mode", 0); // default off
|
||||||
g_settings.hdmi_cec_view_on = configfile.getInt32("hdmi_cec_view_on", 0); // default off
|
g_settings.hdmi_cec_view_on = configfile.getInt32("hdmi_cec_view_on", 0); // default off
|
||||||
g_settings.hdmi_cec_standby = configfile.getInt32("hdmi_cec_standby", 0); // default off
|
g_settings.hdmi_cec_standby = configfile.getInt32("hdmi_cec_standby", 0); // default off
|
||||||
|
@@ -1801,6 +1801,10 @@ typedef enum
|
|||||||
LOCALE_VIDEOMENU_ANALOG_SD_RGB_SCART,
|
LOCALE_VIDEOMENU_ANALOG_SD_RGB_SCART,
|
||||||
LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_CINCH,
|
LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_CINCH,
|
||||||
LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_SCART,
|
LOCALE_VIDEOMENU_ANALOG_SD_YPRPB_SCART,
|
||||||
|
LOCALE_VIDEOMENU_ANALOG_HD_RGB,
|
||||||
|
LOCALE_VIDEOMENU_ANALOG_HD_YPRPB,
|
||||||
|
LOCALE_VIDEOMENU_ANALOG_SD_RGB,
|
||||||
|
LOCALE_VIDEOMENU_ANALOG_SD_YPRPB,
|
||||||
LOCALE_VIDEOMENU_AUTO,
|
LOCALE_VIDEOMENU_AUTO,
|
||||||
LOCALE_VIDEOMENU_BRIGHTNESS,
|
LOCALE_VIDEOMENU_BRIGHTNESS,
|
||||||
LOCALE_VIDEOMENU_CINCH,
|
LOCALE_VIDEOMENU_CINCH,
|
||||||
|
@@ -1801,6 +1801,10 @@ const char * locale_real_names[] =
|
|||||||
"videomenu.analog_sd_rgb_scart",
|
"videomenu.analog_sd_rgb_scart",
|
||||||
"videomenu.analog_sd_yprpb_cinch",
|
"videomenu.analog_sd_yprpb_cinch",
|
||||||
"videomenu.analog_sd_yprpb_scart",
|
"videomenu.analog_sd_yprpb_scart",
|
||||||
|
"videomenu.analog_hd_rgb",
|
||||||
|
"videomenu.analog_hd_yprpb",
|
||||||
|
"videomenu.analog_sd_rgb",
|
||||||
|
"videomenu.analog_sd_yprpb",
|
||||||
"videomenu.auto",
|
"videomenu.auto",
|
||||||
"videomenu.brightness",
|
"videomenu.brightness",
|
||||||
"videomenu.cinch",
|
"videomenu.cinch",
|
||||||
|
Reference in New Issue
Block a user