mirror of
https://github.com/marqs85/ossc
synced 2026-10-31 04:07:14 +03:00
scanlines generation via multiplication
This commit is contained in:
1 parent
9a2c9bb020
commit
5249d313d8
8 files changed
+290
-45
No files matched your search
@@ -301,6 +301,7 @@ status_t get_status(tvp_input_t input, video_format format)
|
||||
|
||||
if ((tc.sl_mode != cm.cc.sl_mode) ||
|
||||
(tc.sl_type != cm.cc.sl_type) ||
|
||||
(tc.sl_method != cm.cc.sl_method) ||
|
||||
(tc.sl_str != cm.cc.sl_str) ||
|
||||
(tc.sl_id != cm.cc.sl_id) ||
|
||||
(tc.h_mask != cm.cc.h_mask) ||
|
||||
@@ -365,8 +366,8 @@ status_t get_status(tvp_input_t input, video_format format)
|
||||
// v_info: [31:29] [28:27] [26] [25:20] [19:17] [16:11] [10:0]
|
||||
// | V_MULTMODE[2:0] | V_SCANLINEMODE[1:0] | V_SCANLINEID | V_MASK[5:0] | V_SYNCLEN[2:0] | V_BACKPORCH[5:0] | V_ACTIVE[10:0] |
|
||||
//
|
||||
// extra: [31:13] [12:8] [7:4] [3:0]
|
||||
// | | X_REV_LPF_STR | H_MASK_BR[3:0] | H_SCANLINESTR[3:0] |
|
||||
// extra: [31:14] [13:9] [8:5] [4] [3:0]
|
||||
// | | X_REV_LPF_STR | H_MASK_BR[3:0] | H_SCANLINESTR_TYPE | H_SCANLINESTR[3:0] |
|
||||
//
|
||||
void set_videoinfo()
|
||||
{
|
||||
@@ -461,9 +462,10 @@ void set_videoinfo()
|
||||
(video_modes[cm.id].v_synclen<<17) |
|
||||
(v_backporch<<11) |
|
||||
v_active);
|
||||
IOWR_ALTERA_AVALON_PIO_DATA(PIO_6_BASE, (cm.cc.reverse_lpf<<8) |
|
||||
(cm.cc.mask_br<<4) |
|
||||
cm.cc.sl_str);
|
||||
IOWR_ALTERA_AVALON_PIO_DATA(PIO_6_BASE, (cm.cc.reverse_lpf<<9) |
|
||||
(cm.cc.mask_br<<5) |
|
||||
(cm.cc.sl_method << 4) |
|
||||
cm.cc.sl_str);
|
||||
}
|
||||
|
||||
// Configure TVP7002 and scan converter logic based on the video mode
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
typedef struct {
|
||||
alt_u8 sl_mode;
|
||||
alt_u8 sl_type;
|
||||
alt_u8 sl_method;
|
||||
alt_u8 sl_str;
|
||||
alt_u8 sl_id;
|
||||
alt_u8 linemult_target;
|
||||
|
||||
@@ -60,6 +60,7 @@ static const char *pm_1080i_desc[] = { LNG("Passthru","パススルー"), "Li
|
||||
static const char *ar_256col_desc[] = { "4:3", "8:7" };
|
||||
static const char *tx_mode_desc[] = { "HDMI", "DVI" };
|
||||
static const char *sl_mode_desc[] = { LNG("Off","オフ"), LNG("Auto","オート"), LNG("Manual","カスタム") };
|
||||
static const char *sl_method_desc[] = { LNG("Multiplication","Multiplication"), LNG("Subtraction","Subtraction") };
|
||||
static const char *sl_type_desc[] = { LNG("Horizontal","ヨコ"), LNG("Vertical","タテ"), LNG("Alternating","コウゴ") };
|
||||
static const char *sl_id_desc[] = { LNG("Top","ウエ"), LNG("Bottom","シタ") };
|
||||
static const char *audio_dw_sampl_desc[] = { LNG("Off (fs = 96kHz)","オフ (fs = 96kHz)"), "2x (fs = 48kHz)" };
|
||||
@@ -139,6 +140,7 @@ MENU(menu_output, P99_PROTECT({ \
|
||||
MENU(menu_postproc, P99_PROTECT({ \
|
||||
{ LNG("Scanlines","スキャンライン"), OPT_AVCONFIG_SELECTION, { .sel = { &tc.sl_mode, OPT_WRAP, SETTING_ITEM(sl_mode_desc) } } },
|
||||
{ LNG("Scanline str.","スキャンラインツヨサ"), OPT_AVCONFIG_NUMVALUE, { .num = { &tc.sl_str, OPT_NOWRAP, 0, SCANLINESTR_MAX, sl_str_disp } } },
|
||||
{ LNG("Scanline method","Scanline method"), OPT_AVCONFIG_SELECTION, { .sel = { &tc.sl_method, OPT_WRAP, SETTING_ITEM(sl_method_desc) } } },
|
||||
{ LNG("Scanline type","スキャンラインルイ"), OPT_AVCONFIG_SELECTION, { .sel = { &tc.sl_type, OPT_WRAP, SETTING_ITEM(sl_type_desc) } } },
|
||||
{ LNG("Scanline alignm.","スキャンラインポジション"), OPT_AVCONFIG_SELECTION, { .sel = { &tc.sl_id, OPT_WRAP, SETTING_ITEM(sl_id_desc) } } },
|
||||
{ LNG("Horizontal mask","スイヘイマスク"), OPT_AVCONFIG_NUMVALUE, { .num = { &tc.h_mask, OPT_NOWRAP, 0, HV_MASK_MAX, pixels_disp } } },
|
||||
|
||||
Reference in new issue
Block a user