Petite mise à jour,
J’ai trouvé le fichier à modifier pour le 441 lignes, c’est : video.c
Il faut modifier les caractéristiques du 405 lignes car si on ajoute une nouvelle norme, il faut ajouté dans d’autres fichiers le 441 lignes et ça pose problème et surtout ça me dépasse, c’est du langage C mais j’ai des limites.
Voici ce qu’il faut modifier, je n’ai pas fait d’essais et surtout je ne change pas le nom de la config :
const vid_config_t vid_config_405_a = {
/* System A (441ine monochrome) */
.output_type = HACKTV_INT16_COMPLEX,
.modulation = VID_VSB,
.vsb_upper_bw = 750000, /* Hz */
.vsb_lower_bw = 4000000, /* Hz */
.level = 1.0, /* Overall signal level */
.video_level = 0.8, /* Power level of video */
.am_audio_level = 0.2, /* Power level of audio */
.type = VID_RASTER_405,
.frame_rate_num = 25,
.frame_rate_den = 1,
.lines = 441,
.hline = 221,
.active_lines = 407,
.active_width = 0.00008030, /* 80.3µs */ Pas les bonnes valeurs
.active_left = 0.00001680, /* |-->| 16.8µs */ Pas les bonnes valeurs
.hsync_width = 0.00000900, /* 9.00 ±1.00µs */ Pas les bonnes valeurs
.vsync_long_width = 0.00004000, /* 40.0 ±2.00µs */ Pas les bonnes valeurs
.white_level = 1.00,
.black_level = 0.30,
.blanking_level = 0.30,
.sync_level = 0.00,
.rw_co = 0.299, /* R weight */
.gw_co = 0.587, /* G weight */
.bw_co = 0.114, /* B weight */
/* AM modulated */
.am_mono_carrier = -4000000, /* Hz */
.am_mono_bandwidth = 10000, /* Hz */
};
const vid_config_t vid_config_405 = {
/* 441 line video */
.output_type = HACKTV_INT16_REAL,
.level = 1.0, /* Overall signal level */
.video_level = 1.0, /* Power level of video */
.video_bw = 3.5e6,
.type = VID_RASTER_405,
.frame_rate_num = 25,
.frame_rate_den = 1,
.lines = 441,
.hline = 221,
.active_lines = 407,
.active_width = 0.00008030, /* 80.3µs */ Pas les bonnes valeurs
.active_left = 0.00001680, /* |-->| 16.8µs */ Pas les bonnes valeurs
.hsync_width = 0.00000900, /* 9.00 ±1.00µs */ Pas les bonnes valeurs
.vsync_long_width = 0.00004000, /* 40.0 ±2.00µs */ Pas les bonnes valeurs
.white_level = 0.70,
.black_level = 0.00,
.blanking_level = 0.00,
.sync_level = -0.30,
.rw_co = 0.299, /* R weight */
.gw_co = 0.587, /* G weight */
.bw_co = 0.114, /* B weight */
};
Plus loin, il faut modifier les synchros :
else if(s->conf.type == VID_RASTER_405)
{
switch(l->line)
{
case 1: seq = « V__V »; break;
case 2: seq = « V__V »; break;
case 3: seq = « V__V »; break;
case 4: seq = « V__V »; break;
case 5: seq = « h___ »; break;
case 6: seq = « h___ »; break;
case 7: seq = « h___ »; break;
case 8: seq = « h___ »; break;
case 9: seq = « h___ »; break;
case 10: seq = « h___ »; break;
case 11: seq = « h___ »; break;
case 12: seq = « h___ »; break;
case 13: seq = « h___ »; break;
case 14: seq = « h___ »; break;
case 15: seq = « h___ »; break;
case 16: seq = « h___ »; break;
case 17: seq = « h___ »; break;
case 221: seq = "h_aV"; break;
case 222: seq = "V__V"; break;
case 223: seq = "V__V"; break;
case 224: seq = "V__V"; break;
case 225: seq = "V___"; break;
case 226: seq = "h___"; break;
case 227: seq = "h___"; break;
case 228: seq = "h___"; break;
case 229: seq = "h___"; break;
case 230: seq = "h___"; break;
case 231: seq = "h___"; break;
case 232: seq = "h___"; break;
case 233: seq = "h___"; break;
case 234: seq = "h___"; break;
case 235: seq = "h___"; break;
case 236: seq = "h__a"; break;
case 237: seq = "h___"; break;
case 238: seq = "h___"; break;
default: seq = "h_aa"; break;
}
/* Calculate the active line number */
vy = (l->line < 228 ? (l->line - 18) * 2 : (l->line - 239) * 2 + 1);
Voilà, j’espère que ce code est bon, il me manque les durée de lignes et les marges car je ne retrouve plus les caractéristiques du 441 lignes.
Voilà, c’est fini pour le moment.
Bruno