RGBtoHDMI/src/osd.h

256 wiersze
4.6 KiB
C

#ifndef OSD_H
#define OSD_H
#define OSD_SW1 1
#define OSD_SW2 2
#define OSD_SW3 3
#define OSD_EXPIRED 4
#define ATTR_DOUBLE_SIZE (1 << 0)
#define MAX_PALETTE_ENTRIES 256
extern int clock_error_ppm;
extern int customPalette[];
extern char paletteHighNibble[];
extern int paletteFlags;
extern int palette_data_16[];
enum {
HDMI_EXACT,
HDMI_ORIGINAL,
HDMI_FAST_1000PPM,
HDMI_FAST_2000PPM,
HDMI_SLOW_2000PPM,
HDMI_SLOW_1000PPM,
NUM_HDMI
};
enum {
PALETTE_RGB,
PALETTE_RGBI,
PALETTE_RGBICGA,
PALETTE_XRGB,
PALETTE_LASER,
PALETTE_RGBISPECTRUM,
PALETTE_SPECTRUM,
PALETTE_AMSTRAD,
PALETTE_RrGgBb,
PALETTE_RrGgBbI,
PALETTE_MDA,
PALETTE_DRAGON_COCO,
PALETTE_DRAGON_COCO_FULL,
PALETTE_ATOM_6847_EMULATORS,
PALETTE_ATOM_MKII,
PALETTE_ATOM_MKII_PLUS,
PALETTE_ATOM_MKII_FULL,
PALETTE_MONO2,
PALETTE_MONO3,
PALETTE_MONO4,
PALETTE_MONO6,
PALETTE_TI,
PALETTE_SPECTRUM48K,
PALETTE_CGS24,
PALETTE_CGS25,
PALETTE_CGN25,
PALETTE_C64,
PALETTE_C64_REV1,
PALETTE_C64LC,
PALETTE_C64LC_REV1,
PALETTE_ATARI800_PAL,
PALETTE_ATARI800_NTSC,
PALETTE_TEA1002,
PALETTE_INTELLIVISION,
PALETTE_YG_4,
PALETTE_UB_4,
PALETTE_VR_4,
NUM_PALETTES
};
enum {
OVERSCAN_0,
OVERSCAN_1,
OVERSCAN_2,
OVERSCAN_3,
OVERSCAN_4,
OVERSCAN_5,
OVERSCAN_6,
OVERSCAN_7,
OVERSCAN_8,
OVERSCAN_9,
OVERSCAN_10,
NUM_OVERSCAN
};
enum {
SCREENCAP_HALF,
SCREENCAP_FULL,
SCREENCAP_HALF43,
SCREENCAP_FULL43,
NUM_SCREENCAP
};
enum {
COLOUR_NORMAL,
COLOUR_MONO,
COLOUR_GREEN,
COLOUR_AMBER,
NUM_COLOURS
};
enum {
INVERT_NORMAL,
INVERT_RGB,
INVERT_Y,
NUM_INVERT
};
enum {
SCALING_AUTO,
SCALING_INTEGER_SHARP,
SCALING_INTEGER_SOFT,
SCALING_INTEGER_VERY_SOFT,
SCALING_FILL43_SOFT,
SCALING_FILL43_VERY_SOFT,
SCALING_FILLALL_SOFT,
SCALING_FILLALL_VERY_SOFT,
NUM_SCALING
};
enum {
M7DEINTERLACE_NONE,
M7DEINTERLACE_BOB,
M7DEINTERLACE_MA1,
M7DEINTERLACE_MA2,
M7DEINTERLACE_MA3,
M7DEINTERLACE_MA4,
M7DEINTERLACE_ADV,
NUM_M7DEINTERLACES
};
enum {
DEINTERLACE_NONE,
DEINTERLACE_BOB,
NUM_DEINTERLACES
};
enum {
FRONTEND_TTL_3BIT,
FRONTEND_SIMPLE,
FRONTEND_ATOM,
FRONTEND_TTL_6_8BIT,
FRONTEND_YUV_TTL_6_8BIT,
FRONTEND_ANALOG_ISSUE3_5259,
FRONTEND_ANALOG_ISSUE2_5259,
FRONTEND_ANALOG_ISSUE1_UA1,
FRONTEND_ANALOG_ISSUE1_UB1,
FRONTEND_ANALOG_ISSUE4,
FRONTEND_ANALOG_ISSUE5,
FRONTEND_YUV_ISSUE3_5259,
FRONTEND_YUV_ISSUE2_5259,
FRONTEND_YUV_ISSUE4,
FRONTEND_YUV_ISSUE5,
NUM_FRONTENDS
};
enum {
VLOCKSPEED_SLOW,
VLOCKSPEED_MEDIUM,
VLOCKSPEED_FAST,
NUM_VLOCKSPEED
};
enum {
VLOCKADJ_NARROW,
VLOCKADJ_165MHZ,
NUM_VLOCKADJ
};
enum {
FONTSIZE_8X8,
FONTSIZE_12X20,
NUM_FONTSIZE
};
enum {
SCALING_EVEN,
SCALING_UNEVEN,
NUM_ESCALINGS
};
enum {
GENLOCK_RANGE_NORMAL,
GENLOCK_RANGE_EDID,
GENLOCK_RANGE_FORCE_LOW,
GENLOCK_RANGE_FORCE_ALL,
GENLOCK_RANGE_INHIBIT,
GENLOCK_RANGE_SET_DEFAULT
};
enum {
HDMI_DVI,
HDMI_AUTO,
HDMI_RGB_LIMITED,
HDMI_RGB_FULL,
HDMI_YUV_LIMITED,
HDMI_YUV_FULL,
NUM_HDMIS
};
enum {
REFRESH_60,
REFRESH_EDID,
REFRESH_50_60,
REFRESH_50_ANY,
REFRESH_50,
NUM_REFRESH
};
enum {
FRINGE_MEDIUM,
FRINGE_SHARP,
FRINGE_SOFT,
NUM_FRINGE
};
enum {
NTSCTYPE_NEW_CGA,
NTSCTYPE_OLD_CGA,
NTSCTYPE_APPLE,
NTSCTYPE_SIMPLE,
NUM_NTSCTYPE
};
int get_tint();
int get_saturation();
int get_contrast();
int get_brightness();
void osd_init();
void osd_clear();
void osd_write_palette(int new_active);
void osd_set(int line, int attr, char *text);
void osd_set_noupdate(int line, int attr, char *text);
void osd_set_clear(int line, int attr, char *text);
void osd_show_cpld_recovery_menu(int update);
void osd_refresh();
void osd_update(uint32_t *osd_base, int bytes_per_line, int relocate);
void osd_update_fast(uint32_t *osd_base, int bytes_per_line);
void osd_display_interface(int line);
int osd_active();
int menu_active();
int osd_key(int key);
void osd_update_palette();
void process_profile(int profile_number);
void process_sub_profile(int profile_number, int sub_profile_number);
void load_profiles(int profile_number, int save_selected);
void process_single_profile(char *buffer);
uint32_t osd_get_palette(int index);
int autoswitch_detect(int one_line_time_ns, int lines_per_frame, int sync_type);
int sub_profiles_available();
//uint32_t osd_get_equivalence(uint32_t value);
int get_existing_frontend(int frontend);
void set_auto_name(char* name);
int normalised_gamma_correct(int old_value);
int get_inhibit_palette_dimming16();
#endif