mirror of
				https://github.com/marqs85/ossc
				synced 2025-10-31 16:06:02 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			169 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			169 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| //
 | |
| // Copyright (C) 2015-2023  Markus Hiienkari <mhiienka@niksula.hut.fi>
 | |
| //
 | |
| // This file is part of Open Source Scan Converter project.
 | |
| //
 | |
| // This program is free software: you can redistribute it and/or modify
 | |
| // it under the terms of the GNU General Public License as published by
 | |
| // the Free Software Foundation, either version 3 of the License, or
 | |
| // (at your option) any later version.
 | |
| //
 | |
| // This program is distributed in the hope that it will be useful,
 | |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| // GNU General Public License for more details.
 | |
| //
 | |
| // You should have received a copy of the GNU General Public License
 | |
| // along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | |
| //
 | |
| 
 | |
| #ifndef AVCONFIG_H_
 | |
| #define AVCONFIG_H_
 | |
| 
 | |
| #include "alt_types.h"
 | |
| #include "sysconfig.h"
 | |
| 
 | |
| #define SIGNED_NUMVAL_ZERO  128
 | |
| 
 | |
| #define SCANLINESTR_MAX     15
 | |
| #define SL_HYBRIDSTR_MAX    28
 | |
| #define H_MASK_MAX          255
 | |
| #define V_MASK_MAX          63
 | |
| #define HV_MASK_MAX_BR      15
 | |
| #define VIDEO_LPF_MAX       5
 | |
| #define SAMPLER_PHASE_MAX   31
 | |
| #define SYNC_VTH_MAX        31
 | |
| #define VSYNC_THOLD_MIN     10
 | |
| #define VSYNC_THOLD_MAX     200
 | |
| #define SD_SYNC_WIN_MAX     255
 | |
| #define PLL_COAST_MAX       10
 | |
| #define REVERSE_LPF_MAX     31
 | |
| #define COARSE_GAIN_MAX     15
 | |
| #define ALC_H_FILTER_MAX    7
 | |
| #define ALC_V_FILTER_MAX    10
 | |
| #define CLAMP_OFFSET_MIN    (SIGNED_NUMVAL_ZERO-100)
 | |
| #define CLAMP_OFFSET_MAX    (SIGNED_NUMVAL_ZERO+100)
 | |
| 
 | |
| #define SL_MODE_MAX         2
 | |
| #define SL_TYPE_MAX         2
 | |
| 
 | |
| #define AUDIO_GAIN_M12DB    0
 | |
| #define AUDIO_GAIN_0DB      12
 | |
| #define AUDIO_GAIN_12DB     24
 | |
| #define AUDIO_GAIN_MAX      AUDIO_GAIN_12DB
 | |
| 
 | |
| #define L5FMT_1920x1080     0
 | |
| #define L5FMT_1600x1200     1
 | |
| #define L5FMT_1920x1200     2
 | |
| 
 | |
| static const char *avinput_str[] = { "Test pattern", "AV1_RGBS", "AV1_RGsB", "AV1_YPbPr", "AV2_YPbPr", "AV2_RGsB", "AV3_RGBHV", "AV3_RGBS", "AV3_RGsB", "AV3_YPbPr", "Last used" };
 | |
| 
 | |
| typedef enum {
 | |
|     AV_TESTPAT      = 0,
 | |
|     AV1_RGBs        = 1,
 | |
|     AV1_RGsB        = 2,
 | |
|     AV1_YPBPR       = 3,
 | |
|     AV2_YPBPR       = 4,
 | |
|     AV2_RGsB        = 5,
 | |
|     AV3_RGBHV       = 6,
 | |
|     AV3_RGBs        = 7,
 | |
|     AV3_RGsB        = 8,
 | |
|     AV3_YPBPR       = 9,
 | |
|     AV_LAST         = 10
 | |
| } avinput_t;
 | |
| 
 | |
| typedef struct {
 | |
|     alt_u8 r_f_off;
 | |
|     alt_u8 g_f_off;
 | |
|     alt_u8 b_f_off;
 | |
|     alt_u8 r_f_gain;
 | |
|     alt_u8 g_f_gain;
 | |
|     alt_u8 b_f_gain;
 | |
|     alt_u8 c_gain;
 | |
| } __attribute__((packed)) color_setup_t;
 | |
| 
 | |
| typedef struct {
 | |
|     /* P-LM mode options */
 | |
|     alt_u8 pm_240p;
 | |
|     alt_u8 pm_384p;
 | |
|     alt_u8 pm_480i;
 | |
|     alt_u8 pm_480p;
 | |
|     alt_u8 pm_1080i;
 | |
|     alt_u8 pt_mode;
 | |
|     alt_u8 l2_mode;
 | |
|     alt_u8 l3_mode;
 | |
|     alt_u8 l4_mode;
 | |
|     alt_u8 l5_mode;
 | |
|     alt_u8 l6_mode;
 | |
|     alt_u8 l5_fmt;
 | |
|     alt_u8 s480p_mode;
 | |
|     alt_u8 s400p_mode;
 | |
|     alt_u8 upsample2x;
 | |
|     alt_u8 ar_256col;
 | |
|     alt_u8 default_vic;
 | |
|     alt_u8 clamp_offset;
 | |
|     alt_u8 tvp_hpll2x;
 | |
|     alt_u8 adc_pll_bw;
 | |
|     alt_u8 fpga_pll_bw;
 | |
|     alt_u8 panasonic_hack;
 | |
| 
 | |
|     /* Postprocessing settings */
 | |
|     alt_u8 sl_mode;
 | |
|     alt_u8 sl_type;
 | |
|     alt_u8 sl_hybr_str;
 | |
|     alt_u8 sl_method;
 | |
|     alt_u8 sl_altern;
 | |
|     alt_u8 sl_str;
 | |
|     alt_u8 sl_id;
 | |
|     alt_u8 sl_cust_l_str[6];
 | |
|     alt_u8 sl_cust_c_str[6];
 | |
|     alt_u8 sl_cust_iv_x;
 | |
|     alt_u8 sl_cust_iv_y;
 | |
|     alt_u8 mask_br;
 | |
|     alt_u8 mask_color;
 | |
|     alt_u8 reverse_lpf;
 | |
|     alt_u8 shmask_mode;
 | |
|     alt_u8 shmask_str;
 | |
|     alt_u8 lumacode_mode;
 | |
|     alt_u8 lumacode_pal;
 | |
| 
 | |
|     /* AFE settings */
 | |
|     alt_u8 sync_vth;
 | |
|     alt_u8 linelen_tol;
 | |
|     alt_u8 vsync_thold;
 | |
|     alt_u8 pre_coast;
 | |
|     alt_u8 post_coast;
 | |
|     alt_u8 ypbpr_cs;
 | |
|     alt_u8 video_lpf;
 | |
|     alt_u8 sync_lpf;
 | |
|     alt_u8 stc_lpf;
 | |
|     alt_u8 alc_h_filter;
 | |
|     alt_u8 alc_v_filter;
 | |
|     color_setup_t col;
 | |
|     alt_u8 full_vs_bypass;
 | |
| 
 | |
|     /* Audio settings */
 | |
|     alt_u8 audio_dw_sampl;
 | |
|     alt_u8 audio_swap_lr;
 | |
|     alt_u8 audio_gain;
 | |
|     alt_u8 audio_mono;
 | |
| 
 | |
|     /* TX / extra settings */
 | |
|     alt_u8 tx_mode;
 | |
|     alt_u8 hdmi_itc;
 | |
|     alt_u8 hdmi_hdr;
 | |
|     alt_u8 hdmi_vrr;
 | |
|     alt_u8 full_tx_setup;
 | |
|     alt_u8 av3_alt_rgb;
 | |
|     avinput_t link_av;
 | |
| } __attribute__((packed)) avconfig_t;
 | |
| 
 | |
| int set_default_profile(int update_cc);
 | |
| int reset_profile();
 | |
| int load_profile();
 | |
| int save_profile();
 | |
| int load_profile_sd();
 | |
| int save_profile_sd();
 | |
| 
 | |
| #endif
 | 
